我正在尝试使这个网址模式有效,但我没有得到任何地方。我找不到页面错误。如果我选择了python slug,我的网址栏中的网址是http://127.0.0.1:8000/tags/?Python
,但它没有使用定义的URL。
我想要做的是,打开一个包含slug相关信息的新模板。
这是我的观点:
def tags(request,slug):
verse = get_object_or_404(Tag, slug=slug)
return render(request, 'tags.html',{'verse':verse})
这是我的网址:
url(r'^tags/(?P<slug>[\W-]+)/$', views.tags),
这是我的模板:
Tagged under - {% for i in verse.tags.all%}<a href='/tags'>{{ i }} | </a>{% endfor %}
我尝试在模板中传递查询字符串:
/tags/q={{i}}
我也尝试过使用:
{% url tags i.slug %}
但到目前为止一切都没有效果。我想打开标签模板,显示所选的slug。
答案 0 :(得分:7)
您必须在下面的url
中设置名称:
url(r'^tags/(?P<slug>.+)/$', views.tags, name='tags'),
在模板中将您的url
标记更改为:
{% url "tags" slug=i.slug %}