【发布时间】:2015-10-02 09:49:42
【问题描述】:
我正在 1.8 版上学习 django。
在他们的documentation 中,他们建议使用{% url %} 模板标签以避免硬编码网址。但在 v1.8 中不起作用,并确认在此版本中已弃用。
https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#url
有没有人知道替代方案?
更新: p_index.html
{% if latest_question_list %}
<ul>
{% for que in latest_question_list %}
<li><a href="{% url 'polls:detail' que.id %}">{{ que.question_text }}</a></li>
{% endfor %}
</ul>
{% else %}
<p> No polls questions are availabe. </p>
{% endif %}
上面的代码给了我这个错误:'str' object has no attribute 'regex'
当我如下更改 href 行时,工作正常!
<li><a href="/polls/{{ que.id }}/">{{ que.question_text }}</a></li>
投票应用中的 urlpatterns:
urlpatterns = [
url(r'^$', views.index, name='view_index'),
# ex: /polls/5/
url(r'^(?P<q_no>[0-9]+)/$', views.detail, name='detail'),
# ex: /polls/5/results/
url(r'^(?P<q_no>[0-9]+)/results/$', views.results, name='results'),
# ex: /polls/5/vote/
url(r'^(?P<q_no>[0-9]+)/vote/$', views.vote, name='vote'),
]
主要的urls.py如下:
urlpatterns = [
url(r'^$', 'home.views.index'),
url(r'^polls/', include('polls.urls', namespace = 'polls')),
url(r'^android/start', 'testpage.views.androidStart'),
url(r'^admin/', include(admin.site.urls)),
]
【问题讨论】:
-
不推荐使用该语法。仅不推荐使用用于指定视图的
'path.to.some_view'点分路径语法。 -
你需要展示你是如何使用它的,文档中的语法很好。
-
请贴出
'str' object has no attribute 'regex'的完整回溯。 -
谢谢大家!,今天早上我重新启动,它工作正常!,我仍然不明白为什么我得到渲染错误!不管怎样,既然Wtower帮助我更好地理解了它,我会接受他的回答