最近在学习Django,跟着做一个Django论坛从搭建到部署,教程链接也贴上:【第一部分-django论坛从搭建到部署】一个完整Django入门指南-苍云横渡,做到第三部分时候遇到一个问题,困扰了我很久。经查阅后仍是无果,官方文档也看了依然没有解决问题,后来突然发现了问题,再看看报错的情况,确实就是自己写的时候写错了。先把错误情况贴上:

Internal Server Error: /boards/1/
Traceback (most recent call last):
File “D:IDEPythonAnacondalibsite-packagesdjangocorehandlersex
ception.py”, line 34, in inner
response = get_response(request)
File “D:IDEPythonAnacondalibsite-packagesdjangocorehandlersba
se.py”, line 126, in _get_response
response = self.process_exception_by_middleware(e, request)
File “D:IDEPythonAnacondalibsite-packagesdjangocorehandlersba
se.py”, line 124, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwar
gs)
File “D:IDEpycharmPyCharm Community Edition 2018.1.2DjangoProjects
myprojectboardsviews.py”, line 33, in board_topics
return render(request, ‘topics.html’, {‘board’: board})
File “D:IDEPythonAnacondalibsite-packagesdjangoshortcuts.py”, l
ine 36, in render
content = loader.render_to_string(template_name, context, request, u
sing=using)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplateloader.
py”, line 62, in render_to_string
return template.render(context, request)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplatebackend
sdjango.py”, line 61, in render
return self.template.render(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplatebase.py
“, line 171, in render
return self._render(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplatebase.py
“, line 163, in _render
return self.nodelist.render(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplatebase.py
“, line 937, in render
bit = node.render_annotated(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplatebase.py
“, line 904, in render_annotated
return self.render(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplateloader_
tags.py”, line 150, in render
return compiled_parent._render(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplatebase.py
“, line 163, in _render
return self.nodelist.render(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplatebase.py
“, line 937, in render
bit = node.render_annotated(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplatebase.py
“, line 904, in render_annotated
return self.render(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplateloader_
tags.py”, line 62, in render
result = block.nodelist.render(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplatebase.py
“, line 937, in render
bit = node.render_annotated(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplatebase.py
“, line 904, in render_annotated
return self.render(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplateloader_
tags.py”, line 62, in render
result = block.nodelist.render(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplatebase.py
“, line 937, in render
bit = node.render_annotated(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplatebase.py
“, line 904, in render_annotated
return self.render(context)
File “D:IDEPythonAnacondalibsite-packagesdjangotemplatedefault
tags.py”, line 442, in render
url = reverse(view_name, args=args, kwargs=kwargs, current_app=curre
nt_app)
File “D:IDEPythonAnacondalibsite-packagesdjangourlsbase.py”, l
ine 90, in reverse
return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args,
**kwargs))
File “D:IDEPythonAnacondalibsite-packagesdjangourlsresolvers.p
y”, line 622, in _reverse_with_prefix
raise NoReverseMatch(msg)
django.urls.exceptions.NoReverseMatch: Reverse for ‘new_topic’ not found
. ‘new_topic’ is not a valid view function or pattern name.
[24/Nov/2018 22:54:00] “GET /boards/1/ HTTP/1.1” 500 169427

看起来有点乱,其实关键信息就是最后一句话:

Reverse for ‘new_topic’ not found . ‘new_topic’ is not a valid view function or pattern name. 

意思就是new_topic在反析的时候没有被找到,’new_topic’ 不是一个有效的视图方法或者模式名。

浏览器报的错也贴上:

urls.py:

view.py:

我注意到其实是urls.py文件中命名空间写错了:

实际上我在view.py文件中定义的方法是new_topic,HTML模板命名也是new_topic.html,所以多加了一个s导致了错误。以后还是需要更加细心。

文章来源于互联网,如有雷同请联系站长删除:Django报错: Reverse for ‘new_topic’ not found. ‘new_topic’ is not a valid view function or pattern …

发表评论