解决方案:找到以下似乎工作正常的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)
Run Code Online (Sandbox Code Playgroud)
显然,django trunk 现在有一个reverse_lazy函数.
更新:此错误与我在通用视图中进行反向调用有关:
class AddObjView(CreateView):
form_class = ObjForm
template_name = 'manager/obj_add.html'
success_url = reverse('manager-personal_objs')
Run Code Online (Sandbox Code Playgroud)
这不是有效的吗?
如果我而不是泛型写这样的东西,它的工作原理:
def add_obj(request, pk):
a=reverse('manager-personal-objs')
return HttpResponse(a)
Run Code Online (Sandbox Code Playgroud)
我有一个包含2个应用程序的项目.每个应用程序都有其网址和视图.它们都工作正常,但在管理器应用程序上,只要我在视图中引用反向函数(任何视图),我就会收到以下错误:异常类型:ImproperlyConfigured异常值:包含的urlconf manager.urls没有其中的任何模式
网址文件:
urlpatterns = patterns('',
url(r'^$', ObjView.as_view(), name='manager-obj'),
url(r'^add/$', AddObjView.as_view(), name='manager-add_obj'),
url(r'^personal/$', PersonalObjsView.as_view(), …Run Code Online (Sandbox Code Playgroud) 我有一个模板标签,它返回转换为用户时区的datetime对象.要格式化它,我更喜欢内置过滤器"date"来格式化它.
是否可以对模板标签的结果使用过滤器?