替代/如何在django 1.8中使用{%url%}?

时间:2015-10-02 09:49:43

标签: python django

我正在学习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>
民意调查app中的

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)),

]

1 个答案:

答案 0 :(得分:2)

我认为你错了。根据我的知识,{% url 'path.to.some_view' v1 v2 %} 标签并没有被释放,我从未听说过任何替代方案。不推荐使用的是传递虚线Python路径的语法:

  

自1.8版以来已弃用:

     

您也可以将虚线Python路径传递给视图函数,但不推荐使用此语法,将在Django 1.10中删除:

[
    {       
        "data": [ [6, 520], [7, 600], [8, 850], [9, 900], [10, 300] ],
        "color": "#F02626",
        "points": {  "fillColor": "#F02626", "radius": 6 },
        "lines": { "fillColor": "#CCF8FF"}
    }, 
    {
        "data": [ [6, 300], [7, 400], [8, 550], [9, 750], [10, 200] ],
        "color": "#26F041",
        "points": { "radius": 10, "fillColor": "#26F041" }
    }, 
    {
        "data": [ [6, 200], [7, 150], [8, 380], [9, 400], [10, 100] ],
        "color": "#20AEFA",
        "points": { "radius": 6, "fillColor": "#20AEFA"}
    }
]