Файл 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 был включен, я все равно получаю сообщение об ошибке, что он не включен. Может кто-нибудь помочь?
Редактировать:
Как люди предположили, попытался удалить из. импортировать строку URL-адресов, но по-прежнему возникает та же ошибка.
Также прикрепляю мой 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 %}
Да, это утверждение from . import urls выглядит неверным или, по крайней мере, неуместным. Ваш код работает без него?
Пытался удалить, но все равно не работает.





У вас есть циклический импорт.
Ваш модуль views импортирует ваш модуль urls, и наоборот.
Это означает, что ни один из файлов не может быть завершен.
Вам следует удалить эту строку с вашего views.py:
from . import urls
Поскольку вы его не используете, это не окажет отрицательного воздействия.
Какая у вас структура проекта? У вас есть циклический импорт: вы импортируете
urlsвviewsиviewsвurls.