Python / Django初学者 - 我收到此错误:
反转'主题'有参数'('',)'和关键字参数' {}' 未找到。尝试了1种模式:['主题/(?P \ d +)/ $']
尝试加载我的模板时。 这是我的模板:
{% extends "learning_logs/base.html" %}
{% block content %}
<p>Topics</p>
<ul>
{% for topic in topics %}
<li>
<a href="{% url 'learning_logs:topic' topic_id %}">{{ topic }}</a>
</li>
{% empty %}
<li>No topics for now</li>
{% endfor %}
</ul>
{% endblock content %}
这是我的views.py
from django.shortcuts import render
from .models import Topic
# Create your views here.
def index(request):
'''Home page for learning log'''
return render(request, 'learning_logs/index.html')
def topics(request):
'''Show all topics'''
topics = Topic.objects.order_by('date_added')
context = {'topics': topics}
return render(request, 'learning_logs/topics.html', context)
def topic(request, topic_id):
'''Show a single topic and all its entries'''
topic = Topic.objects.get(id=topic_id)
entries = topic.entry_set.order_by('-date_added')
context = {'topic': topic, 'entries': entries}
return render(request, 'learning_logs/topic.html', context)
我现在已经有一段时间了,在这里阅读一些以前的答案,但它们都与auth / login无法正常工作有关。还尝试删除&#39;&#39;在网址之后作为一些答案建议,但它没有工作。我正在使用 Python Crash Course:一个实践,基于项目的编程入门来完成我的教程。
任何帮助将不胜感激。
最后,这是我的urls.py代码 来自django.conf.urls import url 来自。导入视图
urlpatterns = [
# Home page
url(r'^$', views.index, name='index'),
url(r'^topics/$', views.topics, name='topics'),
url(r'^topics/(?P<topic_id>\d+)/$', views.topics, name='topic'),
答案 0 :(得分:3)
根据错误,有一个参数传递到url
标记,但它是空的:
使用参数'('',)'反转'主题'...
那是因为topic_id
变量,它没有被定义。您应该使用topic.id
代替:
<a href="{% url 'learning_logs:topic' topic.id %}">{{ topic }}</a>