gpt4 book ai didi

python - 模板渲染期间出现 TemplateSyntaxError

转载 作者:行者123 更新时间:2023-11-30 23:01:40 24 4
gpt4 key购买 nike

Python/Django 初学者 - 我收到此错误:

Reverse for 'topic' with arguments '('',)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['topics/(?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 %}

这是我的观点.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)

我已经研究这个问题有一段时间了,在这里阅读一些以前的答案,但它们都与身份验证/登录不起作用有关。还尝试按照一些答案的建议删除网址后的“”,但它不起作用。我在教程中使用Python 速成类(class):基于项目的实践编程入门

任何帮助将不胜感激。

最后,这是我的 urls.py 代码 从 django.conf.urls 导入 url 从 。导入 View

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

最佳答案

根据错误,有一个参数传递到url标签中,但它是空的:

Reverse for 'topic' with arguments '('',)'...

这是因为 topic_id 变量没有定义。您应该使用 topic.id 来代替:

<a href="{% url 'learning_logs:topic' topic.id %}">{{ topic }}</a>

关于python - 模板渲染期间出现 TemplateSyntaxError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34834582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com