Django возможный круговой импорт
Я создаю новый сайт "Игры". Я запустил новое приложение Games, настроил games/models.py с кодом (ниже). После makemigrations игры и migrate, я смог войти в Admin и добавить записи.
Затем я создаю URL, представления, один шаблон. После их создания, когда я запускаю сервер, я получаю следующую ошибку:
url_patterns raise ImproperlyConfigured(msg.format(name=self.urlconf_name)) from e django.core.exceptions.ImproperlyConfigured: Включенный URLconf '<модуль 'games.urls' из '/home/mackley/PycharmProjects/alphabet/games/urls.py'>' не похоже, что в нем нет шаблонов. Если вы видите допустимые шаблоны в то проблема, вероятно, вызвана циклическим импортом.
Первое, что я заметил, это то, что верхняя строка (from django.conf import settings) в games/models.py (с помощью PyCharm) выделена серым цветом. Не знаю, имеет ли это отношение к ошибке:
Может ли кто-нибудь заметить, где я допустил ошибку? Вот соответствующий код.
# games/models.py
from django.conf import settings
from django.contrib.auth import get_user_model
from django.db import models
from django.urls import reverse
class Game(models.Model):
title = models.CharField(max_length=255)
date_create = models.DateTimeField(auto_now_add=True)
date_start = models.DateTimeField(auto_now_add=False)
body = models.TextField()
author = models.ForeignKey(
get_user_model(),
on_delete=models.CASCADE,
)
answer_one = models.CharField(max_length=1)
answer_two = models.CharField(max_length=1)
answer_three = models.CharField(max_length=1)
answer_four = models.CharField(max_length=1)
answer_five = models.CharField(max_length=1)
answer_six = models.CharField(max_length=1)
answer_seven = models.CharField(max_length=1)
payout_total = models.FloatField(null=True, blank=True, default=1.0)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('game_detail', args=[str(self.id)])
games/admin
# games/admin.py
from django.contrib import admin
from .models import Game
admin.site.register(Game)
config/urls
# config/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('accounts/', include('accounts.urls')),
path('accounts/', include('django.contrib.auth.urls')),
path('games/', include('games.urls')),
path('', include('pages.urls')),
]
games/url
# games/urls.py
from django.urls import path
from .views import GameListView
urlpattrns = [
path('', GameListView.as_view(), name='game_list'),
]
games/views.py
# games/views.py
from django.views.generic import ListView
from .models import Game
class GameListView(ListView):
template_name = 'game_list.html'
Как указано в ошибке, это происходит, когда django не может найти правильные urlpatterns в вашей urlconf. Причин может быть много, но наиболее вероятной в вашем случае мне кажется та, что urlpatterns в games/urls.py неправильно написан как 'urlpattrns'. Попробуйте исправить опечатку и запустить снова.