You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django提交信息后如何重定向至指定页面?配置问题求助

解决CreateView提交后重定向到指定页面的问题

你遇到的问题核心是代码拼写错误+URL反向解析写法不正确,下面提供两种可靠的解决方式:

方法一:修正success_url属性

Django类视图初始化时URL配置可能还未加载完成,所以需要用reverse_lazy延迟解析URL,同时注意属性名的正确拼写:

from django.urls import reverse_lazy
from django.views.generic.edit import CreateView
from .models import Message

class ModelCreateView(CreateView):
    model = Message
    fields=['message']
    template_name = "page.html"
    # 修正拼写并使用reverse_lazy指定目标URL名称
    success_url = reverse_lazy('page')

方法二:重写get_success_url方法

如果需要更灵活的重定向逻辑(比如根据创建的对象动态调整跳转路径),可以重写该方法:

from django.urls import reverse
from django.views.generic.edit import CreateView
from .models import Message

class ModelCreateView(CreateView):
    model = Message
    fields=['message']
    template_name = "page.html"

    def get_success_url(self):
        # 返回指定URL名称对应的路径
        return reverse('page')
        # 若需动态传递参数,示例:return reverse('target-page', kwargs={'pk': self.object.pk})

补充说明

  • 原代码中succes_url = reverse='page'是双重错误:属性名拼写错误导致Django无法识别,且不能直接用reverse='page'这种语法,必须通过reverse或reverse_lazy生成合法的URL路径。
  • 即使Model中定义了get_absolute_url,只要View层设置了success_url或重写了get_success_url,Django会优先遵循View的配置,不会跳转到详情页。

内容的提问来源于stack exchange,提问作者Ibrohim Tojiboyev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 08:40:26