在我的Django应用程序中,我有几页要
/poll/create-question
/poll/edit-question/<question_number>
每个页面都有一个选项,可以将问题与下拉列表中的类别名称相关联。如果列表中不存在所需的类别,用户还可以动态创建类别。
单击按钮创建类别,弹出Bootstrap模式,用户可以输入类别名称并提交。此POST请求由单独的view
函数(使用urlpattern /poll/create-category
)处理。此外,创建类别选项在两个页面中都可用(创建和编辑)
事情进展顺利。除了我想在模态关闭后重定向到原始页面(即,创建或编辑)。请求对象具有属性调用HTTP_REFERER
,其中包含完整的URL http://servername:port/poll/create-question
。但我只想要引用页面/poll/create-question
的urlpattern。
Django有没有办法在提交模式时获取并重定向到原始页面?如何在Django中处理这种功能?
答案 0 :(得分:0)
我会说使用http referrer是不可靠的。您应该使用基于类的视图。制作两个看起来像这样的视图。您可以将所有逻辑放在第一个视图中,并在第二个视图中覆盖成功URL方法。
class CrateCategory (CreateView):
model = Category
def get_success_url (self):
return '/poll/create-question/'
class CreateCategoryToUpdate(CreateCategory):
def get_success_url (self):
return '/poll/update-question/'
您应该使用url名称替换带反向()方法的网址。