django 表单操作 url 'abc' 被重定向到 abc 两次

Posted

技术标签:

【中文标题】django 表单操作 url \'abc\' 被重定向到 abc 两次【英文标题】:django form action url 'abc' is redirect to abc twicedjango 表单操作 url 'abc' 被重定向到 abc 两次 【发布时间】:2020-02-29 02:13:09 【问题描述】:

在 django index.html 中,我有以下代码

<form class="selectedPizza" action="% url 'cost' %" method="POST">
<!--Do some action here-->
<form>

在我的应用程序中(订单)urls.py

from django.urls import
from . import views
urlpatterns = [
    path("", views.index, name="index"),
    path("cost/", views.cost, name="cost")
]

在主站点(披萨)urls.py

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path("", include("orders.urls")),
    path("cost/", include("orders.urls")),
    path("admin/", admin.site.urls),
]

views.py

def index(request):
    #some action here
    return render(request, 'orders/index.html', context)

def cost(request):
    if (request.method == 'POST'):
       #some action here
        return render(request, 'orders/cost.html', context)

提交表单后,我被重定向到“http://127.0.0.1:8000/cost/cost/”。 我正在学习 Django,但无法找到一种可能的方法来让这个表单在提交后重定向到 cost.html 页面

【问题讨论】:

【参考方案1】:

我不知道您为什么在主网址中包含两次“orders.urls”。删除第二个。 “成本”是包含 URL 的一部分,您也不需要在主 URL 中使用它。

【讨论】:

以上是关于django 表单操作 url 'abc' 被重定向到 abc 两次的主要内容,如果未能解决你的问题,请参考以下文章

数据当用户在验证失败(Python,Django)时被重定向回表单时如何保留表单?

在 Django 中创建随机 URL?

Django 会话表单(临时保存表单)

Django : HTML 表单操作指向带有 2 个参数的视图(或 url?)

如何传递从 django 表单操作 url 的下拉列表中选择的项目的 ID?

用户角色的不同目标 URL