考慮以下幾點:Django的類通用視圖重定向
urls.py:
urlpatterns = patterns('',
('^test/$', ClassView.as_view()),
)
views.py:
class ClassView(View):
def get(self, request):
return HttpResponse("test")
def post(self, request):
# do something
return redirect(ClassView.get(request)) # What should I do to redirect to a class here without specifying the path?
我想重定向到ClassView中的get功能(/測試/),但是當我嘗試上述時,我得到:
NoReverseMatch at /test/
所以它顯然找到了網址,但說沒有匹配?
如果'post'方法中沒有任何自定義屬性,那麼更簡單的方法是使用類似'django.views.generic.edit.FormMixin'的mixin聲明'ClassView',然後添加'success_url'類成員聲明, 'success_url = reverse_lazy('test')'。那麼你完全可以省略'post'的聲明。 – nmgeek
@nmgeek是的,好點! ......儘管OP確實在'post'方法中有'#做些什麼'的評論,這表明可能有一些自定義的東西正在發生 – Anentropic