AttributeError: объект 'str' не имеет атрибута 'regex' django 1.9

Я работаю с django 1.9, и в настоящее время я python manage.py makemigrations – в командной python manage.py makemigrations Windows – python manage.py makemigrations и ошибка:

AttributeError: объект 'str' не имеет атрибута 'regex'

Я пробовал кодирование:

 url(r'^$', 'firstsite.module.views.start', name="home"), url(r'^admin/', include(admin.site.urls)), url(r'^$', 'django.contrib.auth.views.login', {'template_name': 'login.html'}, name='login'), url(r'^signup/$', 'exam.views.signup', name='signup'), url(r'^signup/submit/$', 'exam.views.signup_submit', name='signup_submit') 

в urls.py, и ошибка продолжает расти.

Это моя первая кодировка в django, поэтому мой опыт очень ограничен. Заранее спасибо.

Это весь urls.py:

 from django.conf.urls import patterns, include, url import django # Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() from django.conf.urls.static import static from django.conf import settings urlpatterns = patterns('', # Examples: # url(r'^$', 'firstsite.views.home', name='home'), # url(r'^firstsite/', include('firstsite.foo.urls')), # Uncomment the admin/doc line below to enable admin documentation: # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin: #url(r'^admin/', include(admin.site.urls)), django.conf.urls.handler400, url(r'^$', 'firstsite.module.views.start', name="home"), url(r'^admin/', include(admin.site.urls)), url(r'^$', 'django.contrib.auth.views.login', {'template_name': 'login.html'}, name='login'), url(r'^signup/$', 'exam.views.signup', name='signup'), url(r'^signup/submit/$', 'exam.views.signup_submit', name='signup_submit'), ) 

3 Solutions collect form web for “AttributeError: объект 'str' не имеет атрибута 'regex' django 1.9”

Во-первых, удалите django.conf.urls.handler400 из середины URL-адресов. Он не принадлежит к нему и является причиной ошибки.

После исправления ошибки вы можете внести пару изменений, чтобы обновить свой код для Django 1.8+

  1. Измените urlpatterns на список, вместо использования patterns()

  2. Импортируйте представления (или просмотрите модули) вместо использования строк в своих urls()

  3. Вы используете одно и то же регулярное выражение для просмотров и login . Это означает, что вы не сможете получить доступ к видам входа. Одним из исправлений будет изменение регулярного выражения для входа в систему на что-то вроде ^login/$

Объединяя это, вы получаете что-то вроде:

 from firstsite.module.views import start from exam import views as exam_views from django.contrib.auth import views as auth_views urlpatterns = [ url(r'^$', start, name="home"), url(r'^admin/', include(admin.site.urls)), url(r'^login/$', auth_views.login, {'template_name': 'login.html'}, name='login'), url(r'^signup/$', exam_views.signup, name='signup'), url(r'^signup/submit/$', exam_views.signup_submit, name='signup_submit'), ] 

Также не забудьте удалить начальный пустой шаблон url – можно упустить при миграции ваших URL-адресов.

 urlpatterns = ['', # <== this blank element ('') produces the error. ... ] 

ТЛ; др

Для любопытных я нашел это, добавив предупреждение в метод django.core.checks.urls модуле django.core.checks.urls :

 def check_pattern_startswith_slash(pattern): """ Check that the pattern does not begin with a forward slash. """ if not hasattr(pattern, 'regex'): warning = Warning( "Invalid pattern '%s'" % pattern, id="urls.W002", ) return [warning] 

И, конечно же, у меня есть куча предупреждений вроде этого:

 ?: (urls.W002) Invalid pattern '' 

Удалите начальные пустые шаблоны Url , а также удалите

 django.conf.urls.handler400, 

от вашего urls.py это решит вашу проблему.

  • Почему качество Tkinter намного хуже ухудшается на окнах?
  • Cmd и Git bash имеют другой результат при запуске кода Python
  • shutl.rmtree не работает в Windows с «Access is denied»
  • Более быстрый способ чтения пикселя экрана в Python, чем PIL?
  • рисование в python
  • Создание установщика Windows для Python + набора зависимостей
  • Использование абсолютных путей unix в windows с python
  • Настройка Django на IIS
  •  
    Interesting Posts for Van-Lav

    Что случилось с этим методом для копирования файла в Python?

    Почему pip терпит неудачу с хешем md5 для пакета?

    Объединение нескольких задач mapreduce в потоке Hadoop

    Создание единого EXE с использованием py2exe для программы Tkinter

    Получить cookie из CookieJar по имени

    Python-ldap set_option не работает над Yosemite

    Добавление привязки клавиатуры к существующему режиму Emacs

    Как заменить NaN на предыдущие значения в pandas DataFrame?

    Работа со строкой, содержащей несколько кодировок символов

    Перенаправление вывода печати в файл .txt в Python

    Есть ли хороший плагин emacs для Python, как ESS для R и slime для Lisp?

    Регулярное выражение для выделения последнего встречающегося числа с использованием Python

    Определение удаленного интерпретатора на удаленной машине Linux с использованием Pydev и RSE Server

    Как иметь список () потреблять __iter__ без вызова __len__?

    Как быстро выполнить установку наименьших квадратов по множеству наборов данных?

    Python - лучший язык программирования в мире.