【问题标题】:NameError: name 'views' is not defined in django 2.2.3 & python 3.7.0NameError:名称“视图”未在 django 2.2.3 和 python 3.7.0 中定义
【发布时间】:2020-11-24 05:13:33
【问题描述】:

我在 Django 中进行登录和注册,但出现以下错误。请帮我解决它。

文件“/home/mritunjay/project/pr/fitbit/accounts/urls.py”,第 7 行,在 路径('',views.home,name="home"), NameError:名称“视图”未定义

这里urls.py(应用程序)

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(应用程序)

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(项目)

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)

中显示

请帮帮我。

【问题讨论】:

  • urls.py中添加from . import views

标签: python django


【解决方案1】:

您正在引用视图而不导入它。在 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 中定义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-19
    • 2018-09-15
    • 2022-10-16
    • 2013-01-26
    • 1970-01-01
    • 2018-07-14
    • 2017-12-25
    相关资源
    最近更新 更多