有urls.py模式。
url(r'^notice/(?P<article>[0-9]\d+)/', web.views.notice),
这是views.py
def notice(request, article):
data = article
return render(request, "notice.html")
然而,网络浏览器显示404错误。 如果我删除添加参数,则没问题。
我错了什么?
预期结果(博客样式,不是参数) / notice / 1,/ notice / 2,...
答案 0 :(得分:1)
我认为正在发生的事情是[0-9]\d+
期待至少一个2位数字,[0-9]
的一位数,然后是\d+
之后的一位或多位数字。我相信你真正想要的只是
url(r'^notice/(?P<article>\d+)$', 'web.views.notice')
答案 1 :(得分:0)
我不知道你为什么使用d ???
url(r'^issue/(?P<issue_id>[0-9]+)$', views.issue, name='issue'),
url(r'^project/(?P<pk>.*)$', login_required(views.ProjectView.as_view()), name='project'),
答案 2 :(得分:0)
根据您提出的问题,我发现您希望根据URL中传递的参数在模板上显示数据。让我尝试逐步解释:
首先让我们说你有以下网址:
url(r&#39; ^ notice /(?P <article>
\ d +)$&#39;,views.notice,name =&#34; notice&#34;)
现在让我们根据URL中的参数定义从模型中获取数据的视图,我假设您在URL中传递了PK:
def notice(请求,文章):
data = YourModelName.objects.get(id = article)
//将结果传回模板
上下文= {&#34;物品&#34;:数据}
返回渲染(请求,&#34; notice.html&#34;,上下文)
现在,您可以在模板中访问数据:
{{article.field_name}}
希望这会帮助你!!!!