文件 urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.post_list, name='post_list'),
url(r'^post/(?P<pk>\d+)/$', views.post_detail, name='post_detail'),
]
文件 views.py
from django.utils import timezone
from django.shortcuts import render, get_object_or_404
from .models import Post
from . import urls
def post_list(request):
posts = Post.objects.filter(
published_date__lte=timezone.now()).order_by('published_date')
return render(request, 'blog/post_list.html', {'posts': posts})
def post_detail(request, pk):
post = get_object_or_404(Post, pk=pk)
return render(request, 'blog/post_detail.html', {'post': post})
即使包含了post_detail
属性,我仍然收到不包含该属性的错误。有人可以帮忙吗?
编辑:
正如人们所建议的,尝试从中删除。导入网址行,但仍然出现相同的错误。
如果有帮助,还附加我的html文件:
{% extends 'blog/base.html' %}
{% block content %}
{% for post in posts %}
<div class="post">
<div class="date">
<p>published: {{ post.published_date }}</p>
</div>
<h1><a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a></h1>
<p>{{ post.text|linebreaksbr }}</p>
</div>
{% endfor %}
{% endblock %}
答案 0 :(得分:0)
您有一个循环导入。
您的views
模块导入您的urls
模块,反之亦然。
这意味着两个文件都无法完成导入。
您应该从views.py
中删除此行:
from . import urls
由于您不使用它,因此不会产生任何不利影响。