Django: ошибка имени: имя ‘X’ не определено

#python #django

#python #django

Вопрос:

Я не понимаю, почему?

это URL-адреса моего проекта :

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('account/', include('account.urls'), name=account),
]
  

и это мои URL-адреса приложений:

 from django.urls import path
from . import views


urlpattern = [
    path('signup/', views.SignUp.as_view(), name=SignUp),
]
  

Ошибка : NameError: name 'SignUp' is not defined

Есть ли у вас идея, в чем проблема? Спасибо за ваш ответ 🙂

Комментарии:

1. Разве ты не имел в виду name="SignUp" ?

Ответ №1:

Вы используете name=SignUp и name=account который ни один из них не определен в вашем коде.

name параметр принимает строку, поэтому вам нужно либо определить строковую переменную, либо напрямую передать строку:

 from django.urls import path
from . import views


urlpattern = [
    path('signup/', views.SignUp.as_view(), name="SignUp"),
]
  

или

 from django.urls import path
from . import views

singup_name = "SignUp"

urlpattern = [
    path('signup/', views.SignUp.as_view(), name=singup_name),
]
  

Комментарии:

1. если я это сделаю, у меня появится ошибка: «django.core.exceptions. Неправильно сконфигурировано: включен URLconf ‘ Если вы видите допустимые шаблоны в файле, то проблема, вероятно, вызвана циклическим импортом : (

2. Эта ошибка не имеет никакого отношения к этой проблеме. У вас может возникнуть проблема с циклическим импортом

Ответ №2:

имя = Регистрация

здесь вы присваиваете значение переменной ‘SignUp’ атрибуту, но переменная SignUp не объявлена.. может быть, вы хотите заключить его в кавычки в виде строкового значения, такого как это:

name =»Регистрация»

Комментарии:

1. если я это сделаю, у меня появится ошибка: «django.core.exceptions. Неправильно сконфигурировано: включен URLconf ‘ Если вы видите допустимые шаблоны в файле, то проблема, вероятно, вызвана циклическим импортом.

Ответ №3:

на самом деле решение заключалось в том, что я допустил ошибку в urlpattern, реальным словом было urlpatterns с s