Почему я получаю ошибку кругового импорта при импорте представления? - PullRequest
0 голосов
/ 04 апреля 2020

Может кто-нибудь, пожалуйста, помогите мне. При загрузке моего проекта я получаю следующую ошибку:

повышение. «Похоже, не имеет никаких шаблонов в нем. Если вы видите в файле действительные шаблоны, то проблема, вероятно, вызвана циклическим импортом.

Это мой urls.py

from django.contrib import admin
from django.urls import path

from django.conf import settings
from django.conf.urls.static import static

from drink.views import HomepageView, CreateDrinkView, CreateNormalDrinkView, CreateMixedDrinkView

from machine.views import SettingsView

from account.views import LoginView

urlpatterns = [
    path('', HomepageView.as_view()),
    path('create-drink', CreateDrinkView.as_view()),
    path('create-drink/save-normal', CreateNormalDrinkView.as_view()),
    path('create-drink/save-mixed', CreateMixedDrinkView.as_view()),
    path('settings/', SettingsView.as_view()),
    path('accounts/login/', LoginView.as_view()),
    path('admin/', admin.site.urls),
]

if settings.DEBUG == True:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
else:
    pass
    #enter code here for media and static handeling during production

Возможно, проблема связана с импорт LoginView. Если я удаляю этот импорт и путь, программа запускается без ошибок. Мои аккаунты account.views содержат следующий код:

from django.contrib.auth import authenticate, login
from django.shortcuts import render, redirect
from django.views.generic import TemplateView


# Create your views here.
class LoginView(TemplateView):
    template_name = 'login.html'

    def get(self, request):
        return render(request, self.template_name, {})

    def post(self, request):
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(request, username=username, password=password)

        if user is not None:
            login(request, user)
            # Redirect to a success page.
            return redirect('')
        else:
            # Return an 'invalid login' error message.
            return render(request, self.template_name {'error': 'Gebruikersnaam of wachtwoord onjuist!'})

На данный момент account.models пуст. Я попытался запустить pycycle, чтобы проверить круговой импорт. Пайцикл возвратил, что не было найдено кругового импорта. Ваша помощь очень ценится!

1 Ответ

0 голосов
/ 05 апреля 2020

Решил это, удалив приложение и воссоздав его. До сих пор не знаю, в чем проблема, но пока это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...