当我试图加载我的title.html模板时,就会出现这个TypeError。我的逻辑很简单:如果请求的条目不存在,则应该向用户显示一个错误页,指示没有找到他们所请求的页面。如果条目确实存在,则应该向用户显示显示条目内容的页面。页面的标题应该包括条目的名称。
我的urls.py模式(在百科全书/urls.py中):
urlpatterns = [
path("", views.index, name="index"),
path("wiki/", views.title, name="title"),]我的观点(百科全书/views.py):
def title(request, title_name):
return render(request, "encyclopedia/title.html",{
"entry": util.get_entry(title_name),
"title": util.get_page_name(title_name)
})当然,util.py如下所示:
def get_entry(title):
try:
f = default_storage.open(f"entries/{title}.md")
return f.read().decode("utf-8")
except FileNotFoundError:
return None
def get_page_name(title):
try:
name = os.path.basename(f'entries/{title}')
return name
except TypeError:
return None有关title.html的更多信息:
{% extends "encyclopedia/layout.html" %}
{% block title %}
<p>{{ title }}</p>
{% endblock title %}
{% block body %}
<p> {{ entry }}</p>
{% endblock body %}由于我在/wiki/HTML ()上得到了一个TypeError,因此得到了一个意外的关键字参数'title‘,我猜我编写的模板不起作用吗?
发布于 2020-08-07 14:09:43
将您的路径更改为这样的方式,这样才能工作。
path("wiki/<str:title_name>/", views.title, name="title")https://stackoverflow.com/questions/63303444
复制相似问题