pea*_*kit 3 django django-urls
我确实看到另一个题为"如何使用django反向通用视图"和"django命名网址,通用视图"的问题,但我的问题有点不同,我不相信它是一个骗局.
码:
from django.views.generic import list_detail, create_update
from django.core.urlresolvers import reverse
from django.conf.urls.defaults import *
partners_add = {'form_class': FooForm,
'post_save_redirect': reverse('foo-list'),
}
urlpatterns = patterns('',
url(r'^foo/$', list_detail.object_list, foo_list, name='foo-list'),
url(r'^foo/add/$', create_update.create_object, foo_add, name='foo-add'),
)
Run Code Online (Sandbox Code Playgroud)
但是,当我运行代码时,我收到错误"包含的urlconf bar.urls中没有任何模式".然后,当我将反向('foo-list')更改为'/ bar/foo /'时,它可以工作.但是,如果我在模板中调用{%url foo-list%},我会得到正确的URL并且代码可以工作.
添加反向也将破坏相同urlpatterns中具有相同错误的所有URL.
我在Python 2.6上运行Django 1.1
这是我在这里找到的问题的解决方案:http: //andr.in/2009/11/21/calling-reverse-in-django/
我已粘贴下面的代码片段,以防链接消失:
Run Code Online (Sandbox Code Playgroud)from django.conf.urls.defaults import * from django.core.urlresolvers import reverse from django.utils.functional import lazy from django.http import HttpResponse reverse_lazy = lazy(reverse, str) urlpatterns = patterns('', url(r'^comehere/', lambda request: HttpResponse('Welcome!'), name='comehere'), url(r'^$', 'django.views.generic.simple.redirect_to', {'url': reverse_lazy('comehere')}, name='root') )
| 归档时间: |
|
| 查看次数: |
3539 次 |
| 最近记录: |