И если вам не повезло использовать django 1.3 или менее, вы можете добавить это в свой код:
ие: Нашел следующий фрагмент django, который, кажется, работает нормально (http://djangosnippets.org/snippets/2445/)
from django.utils.functional import lazy
from django.core.urlresolvers import reverse
#Workaround for using reverse with success_url in class based generic views
#because direct usage of it throws an exception.
reverse_lazy = lambda name=None, *args : lazy(reverse, str)(name, args=args)
Судя по всему, сейчасreverse_lazy Функция в стволе Джанго.
Обновить: Эта ошибка как-то связана с тем, что я делаю вызов, чтобы обратить вспять внутри общего представления:
class AddObjView(CreateView):
form_class = ObjForm
template_name = 'manager/obj_add.html'
success_url = reverse('manager-personal_objs')
Это не верно?
Если я вместо generic напишу что-то вроде этого, это сработает:
def add_obj(request, pk):
a=reverse('manager-personal-objs')
return HttpResponse(a)
У меня есть проект с 2 приложениями в нем. Каждое приложение имеет свои URL-адреса и представления. Они оба работают нормально, но в приложении менеджера, как только я обращаюсь к функции реверса в представлениях (любое представление), я получаю следующую ошибку: Тип исключения: ImproperlyConfigured Значение исключения: включенный urlconf manager.urls не имеет какие-то шаблоны в нем
Файл URL:
urlpatterns = patterns('',
url(r'^)
Расположение исключения: ... site-packages \ django \ core \ urlresolvers.py в _get_url_patterns, строка 283
Я получаю эту ошибку на всем сайте (правка: это, очевидно, происходит потому, что попытка импортировать manager.urls приведет к ошибке). Если я удаляю include manager.urls, все возвращается к работе; если я убираю звонок на реверс, все нормально; если я попытаюсь переписать manager.urls в более простую версию, она продолжится с ошибкой.
Я был над этим много раз, похоже, не могу найти что-то не так.
редактировать: root urls.py
# coding=utf8
from django.conf.urls.defaults import patterns, include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.views.generic.simple import direct_to_template
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# 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)),
# Home Page
url(r'^edit2: Следует также отметить, что тег шаблона URL-адреса прекрасно работает в приложении менеджера, и обратный вызов работает, если я делаю это в другом приложении. Кроме того, каждый URL имеет письменный рабочий вид.
, ObjView.as_view(), name='manager-obj'),
url(r'^add/)
Расположение исключения: ... site-packages \ django \ core \ urlresolvers.py в _get_url_patterns, строка 283
Я получаю эту ошибку на всем сайте (правка: это, очевидно, происходит потому, что попытка импортировать manager.urls приведет к ошибке). Если я удаляю include manager.urls, все возвращается к работе; если я убираю звонок на реверс, все нормально; если я попытаюсь переписать manager.urls в более простую версию, она продолжится с ошибкой.
Я был над этим много раз, похоже, не могу найти что-то не так.
редактировать: root urls.py
# coding=utf8
from django.conf.urls.defaults import patterns, include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.views.generic.simple import direct_to_template
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# 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)),
# Home Page
url(r'^$', direct_to_template, {'template': 'home.html'}, name="home"),
# manager
url(r'^manager/', include('manager.urls')),
# writing
url(r'^writing/', include('writing.urls')),
)
urlpatterns += staticfiles_urlpatterns()
edit2: Следует также отметить, что тег шаблона URL-адреса прекрасно работает в приложении менеджера, и обратный вызов работает, если я делаю это в другом приложении. Кроме того, каждый URL имеет письменный рабочий вид.
, AddObjView.as_view(), name='manager-add_obj'),
url(r'^personal/)
Расположение исключения: ... site-packages \ django \ core \ urlresolvers.py в _get_url_patterns, строка 283
Я получаю эту ошибку на всем сайте (правка: это, очевидно, происходит потому, что попытка импортировать manager.urls приведет к ошибке). Если я удаляю include manager.urls, все возвращается к работе; если я убираю звонок на реверс, все нормально; если я попытаюсь переписать manager.urls в более простую версию, она продолжится с ошибкой.
Я был над этим много раз, похоже, не могу найти что-то не так.
редактировать: root urls.py
# coding=utf8
from django.conf.urls.defaults import patterns, include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.views.generic.simple import direct_to_template
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# 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)),
# Home Page
url(r'^$', direct_to_template, {'template': 'home.html'}, name="home"),
# manager
url(r'^manager/', include('manager.urls')),
# writing
url(r'^writing/', include('writing.urls')),
)
urlpatterns += staticfiles_urlpatterns()
edit2: Следует также отметить, что тег шаблона URL-адреса прекрасно работает в приложении менеджера, и обратный вызов работает, если я делаю это в другом приложении. Кроме того, каждый URL имеет письменный рабочий вид.
, PersonalObjsView.as_view(), name='manager-personal_objs'),
)
Расположение исключения: ... site-packages \ django \ core \ urlresolvers.py в _get_url_patterns, строка 283
Я получаю эту ошибку на всем сайте (правка: это, очевидно, происходит потому, что попытка импортировать manager.urls приведет к ошибке). Если я удаляю include manager.urls, все возвращается к работе; если я убираю звонок на реверс, все нормально; если я попытаюсь переписать manager.urls в более простую версию, она продолжится с ошибкой.
Я был над этим много раз, похоже, не могу найти что-то не так.
редактировать: root urls.py
# coding=utf8
from django.conf.urls.defaults import patterns, include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.views.generic.simple import direct_to_template
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# 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)),
# Home Page
url(r'^$', direct_to_template, {'template': 'home.html'}, name="home"),
# manager
url(r'^manager/', include('manager.urls')),
# writing
url(r'^writing/', include('writing.urls')),
)
urlpatterns += staticfiles_urlpatterns()
edit2: Следует также отметить, что тег шаблона URL-адреса прекрасно работает в приложении менеджера, и обратный вызов работает, если я делаю это в другом приложении. Кроме того, каждый URL имеет письменный рабочий вид.
, direct_to_template, {'template': 'home.html'}, name="home"),
# manager
url(r'^manager/', include('manager.urls')),
# writing
url(r'^writing/', include('writing.urls')),
)
urlpatterns += staticfiles_urlpatterns()
edit2: Следует также отметить, что тег шаблона URL-адреса прекрасно работает в приложении менеджера, и обратный вызов работает, если я делаю это в другом приложении. Кроме того, каждый URL имеет письменный рабочий вид.
, ObjView.as_view(), name='manager-obj'), url(r'^add/)
Расположение исключения: ... site-packages \ django \ core \ urlresolvers.py в _get_url_patterns, строка 283
Я получаю эту ошибку на всем сайте (правка: это, очевидно, происходит потому, что попытка импортировать manager.urls приведет к ошибке). Если я удаляю include manager.urls, все возвращается к работе; если я убираю звонок на реверс, все нормально; если я попытаюсь переписать manager.urls в более простую версию, она продолжится с ошибкой.
Я был над этим много раз, похоже, не могу найти что-то не так.
редактировать: root urls.py
# coding=utf8
from django.conf.urls.defaults import patterns, include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.views.generic.simple import direct_to_template
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# 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)),
# Home Page
url(r'^$', direct_to_template, {'template': 'home.html'}, name="home"),
# manager
url(r'^manager/', include('manager.urls')),
# writing
url(r'^writing/', include('writing.urls')),
)
urlpatterns += staticfiles_urlpatterns()
edit2: Следует также отметить, что тег шаблона URL-адреса прекрасно работает в приложении менеджера, и обратный вызов работает, если я делаю это в другом приложении. Кроме того, каждый URL имеет письменный рабочий вид.
, AddObjView.as_view(), name='manager-add_obj'), url(r'^personal/)
Расположение исключения: ... site-packages \ django \ core \ urlresolvers.py в _get_url_patterns, строка 283
Я получаю эту ошибку на всем сайте (правка: это, очевидно, происходит потому, что попытка импортировать manager.urls приведет к ошибке). Если я удаляю include manager.urls, все возвращается к работе; если я убираю звонок на реверс, все нормально; если я попытаюсь переписать manager.urls в более простую версию, она продолжится с ошибкой.
Я был над этим много раз, похоже, не могу найти что-то не так.
редактировать: root urls.py
# coding=utf8
from django.conf.urls.defaults import patterns, include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.views.generic.simple import direct_to_template
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# 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)),
# Home Page
url(r'^$', direct_to_template, {'template': 'home.html'}, name="home"),
# manager
url(r'^manager/', include('manager.urls')),
# writing
url(r'^writing/', include('writing.urls')),
)
urlpatterns += staticfiles_urlpatterns()
edit2: Следует также отметить, что тег шаблона URL-адреса прекрасно работает в приложении менеджера, и обратный вызов работает, если я делаю это в другом приложении. Кроме того, каждый URL имеет письменный рабочий вид.
, PersonalObjsView.as_view(), name='manager-personal_objs'),)
Расположение исключения: ... site-packages \ django \ core \ urlresolvers.py в _get_url_patterns, строка 283
Я получаю эту ошибку на всем сайте (правка: это, очевидно, происходит потому, что попытка импортировать manager.urls приведет к ошибке). Если я удаляю include manager.urls, все возвращается к работе; если я убираю звонок на реверс, все нормально; если я попытаюсь переписать manager.urls в более простую версию, она продолжится с ошибкой.
Я был над этим много раз, похоже, не могу найти что-то не так.
редактировать: root urls.py
# coding=utf8
from django.conf.urls.defaults import patterns, include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.views.generic.simple import direct_to_template
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# 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)),
# Home Page
url(r'^$', direct_to_template, {'template': 'home.html'}, name="home"),
# manager
url(r'^manager/', include('manager.urls')),
# writing
url(r'^writing/', include('writing.urls')),
)
urlpatterns += staticfiles_urlpatterns()
edit2: Следует также отметить, что тег шаблона URL-адреса прекрасно работает в приложении менеджера, и обратный вызов работает, если я делаю это в другом приложении. Кроме того, каждый URL имеет письменный рабочий вид.