在Djang中提交模式后重定向到referer页面

2024-05-18 10:54:03 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的Django应用程序中,我有几个页面可以

  1. 创建投票问题/poll/create-question
  2. 编辑投票问题/poll/edit-question/<question_number>

每个页面都有一个选项,可以将问题与下拉列表中的类别名称相关联。如果列表中不存在所需的类别,则用户还可以动态创建类别。在

单击创建类别的按钮时,将弹出引导模式,用户可以输入类别名称并提交。这个POST请求由一个单独的view函数(使用urlpattern/poll/create-category)处理。此外,在这两个页面中都可以使用“创建类别”选项(创建和编辑)

一切都很顺利。除了我想在模态关闭后重定向到原始页面(即创建或编辑)。request对象有一个属性调用HTTP_REFERER,它保存完整的url http://servername:port/poll/create-question。但我只想要引用页面/poll/create-question的urlpattern。在

在Django中有没有一种方法可以在提交一个modal时获得它并重定向到原始页面?Django通常如何处理这种特性?在


Tags: django用户名称应用程序编辑列表选项create
1条回答
网友
1楼 · 发布于 2024-05-18 10:54:03

我想说使用http引用是不可靠的。您应该使用基于类的视图。做两个这样的视图。您可以将所有逻辑放在第一个视图中,然后在第二个视图中重写success 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名称将url替换为reverse()方法。在

相关问题 更多 >