NameError: имя 'views' не определено в django 2.2.3 и python 3.7.0 - PullRequest
0 голосов
/ 04 августа 2020

Я вхожу в систему и регистрируюсь в Django, но получаю следующую ошибку. Пожалуйста, помогите мне решить эту проблему.

Файл "/home/mritunjay/project/pr/fitbit/accounts/urls.py", строка 7, в пути ('', views.home, name = "home"), NameError: имя 'views' не определено

Здесь urls.py (app)

from django.urls import path

from accounts.views import home, SignUpView

app_name = "accounts"


urlpatterns = [

    path('', views.home, name="home"),
    path('signup/', SignUpView.as_view(), name='signup'),
    path('login/', views.login, name='login'),
    
]

Здесь views.py (app)

from django.shortcuts import render

from django.urls import reverse_lazy

from django.views.generic import CreateView

from accounts.forms import SignUpForm

from django.contrib.auth.models import User


class SignUpView(CreateView):

    success_url = reverse_lazy('login')

    template_name = 'templates/signup.html'

def home(request):

    return render(request, "home.html", {})

Здесь urls.py (project)

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

from django.contrib.auth import views as auth_views

from django.views.generic import TemplateView

#from accounts import urls

urlpatterns = [

    path('admin/', admin.site.urls),
    path('', include('accounts.urls')),

    # Main Page

    path('', TemplateView.as_view(template_name='home.html'), name='home'),

    # Login and Logout

    path('login/', auth_views.LoginView.as_view(redirect_authenticated_user=True, template_name='templates/login.html'), name='login'),

    path('logout/', auth_views.LogoutView.as_view(next_page='home'), name='logout'),
]

Это код, где ** NameError: name ' views 'не определен ** отображается в urls.py (app)

Пожалуйста, помогите мне в этом.

1 Ответ

0 голосов
/ 04 августа 2020

Вы ссылаетесь на просмотры, не импортируя их. Попробуйте это в urls.py (app)

from django.urls import path

from accounts import views

app_name = "accounts"


urlpatterns = [

    path('', views.home, name="home"),
    path('signup/', views.SignUpView.as_view(), name='signup'),
    path('login/', views.login, name='login'),
    
]

Примечание. Убедитесь, что функция login определена в views.

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