首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError at /wiki/HTML

TypeError at /wiki/HTML
EN

Stack Overflow用户
提问于 2020-08-07 14:05:09
回答 1查看 66关注 0票数 0

当我试图加载我的title.html模板时,就会出现这个TypeError。我的逻辑很简单:如果请求的条目不存在,则应该向用户显示一个错误页,指示没有找到他们所请求的页面。如果条目确实存在,则应该向用户显示显示条目内容的页面。页面的标题应该包括条目的名称。

我的urls.py模式(在百科全书/urls.py中):

代码语言:javascript
复制
urlpatterns = [
path("", views.index, name="index"),
path("wiki/", views.title, name="title"),]

我的观点(百科全书/views.py):

代码语言:javascript
复制
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如下所示:

代码语言:javascript
复制
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的更多信息:

代码语言:javascript
复制
{% extends "encyclopedia/layout.html" %}

{% block title %}

<p>{{ title }}</p>

{% endblock title %}

{% block body %}
<p> {{ entry }}</p>
{% endblock body %}

由于我在/wiki/HTML ()上得到了一个TypeError,因此得到了一个意外的关键字参数'title‘,我猜我编写的模板不起作用吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-07 14:09:43

将您的路径更改为这样的方式,这样才能工作。

代码语言:javascript
复制
path("wiki/<str:title_name>/", views.title, name="title")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63303444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档