URL在Django中无法点击

时间:2014-09-28 18:13:28

标签: python django url

如果这个通用问题重复,我道歉,虽然我没有在这里看到它。

[遵循django教程]我的索引视图定义为

def index(request):
    latest_question_list = Question.objects.all().order_by('-pub_date')[:5]
    context = {'latest_question_list': latest_question_list}
    return render(request, 'polls/index.html', context)

和索引html

{% if latest_question_list %}
    <ul>
    {% for question in latest_question_list %}
        <li><a href="/polls/{{ question.id }}/">{{ question.question_text }}</a></li>
    {% endfor %}
    </ul>
{% else %}
    <p>No polls are available.</p>
{% endif %}

但是我的http://localhost:8000/polls/只返回一个不可点击的Question.objects.all()列表((甚至没有像教程所说的那样“项目符号”)。

我需要添加什么才能制作(一般来说是一个URL)这样的实际问题呢?

urls.py

urlpatterns = patterns('', # ex: /polls/ url(r'^$', views.index, name='index'), # ex: /polls/5/ url(r'^(?P<question_id>\d+)/$', views.detail, name='detail'), # ex: /polls/5/results/ url(r'^(?P<question_id>\d+)/results/$', views.results, name='results'), # ex: /polls/5/vote/ url(r'^(?P<question_id>\d+)/vote/$', views.vote, name='vote'), # ex: /polls/5/analysis url(r'^(?P<question_id>\d+)/analysis/$', views.analysis, name='analysis'), )

这是http://localhost:8000/polls/

的输出

最近发表了什么?,开心?,什么事?

view-source:http://localhost:8000/polls/返回

最近发表了什么?,开心?,什么事?

2 个答案:

答案 0 :(得分:0)

您的urls.py文件指定了您的应用程序使用的网址格式以及可以在网址中传递的关键字。发布您的urls.py和页面的html输出(呈现显示这些链接的页面,然后按ctrl + u查看来源),也许有人可以进一步为您提供帮助。

答案 1 :(得分:0)

我会说你正在逃避模板块{{ question.id }}

您应该使用{% url "detail" question.id %}代替/polls/{{ question.id }}/

您可以在此处找到有关此内容的更多信息:https://docs.djangoproject.com/en/1.7/ref/templates/builtins/#url