我有一个登录页面,它有一个身份验证表单,两个值,验证后,用这两个参数重定向它,但我得到了一个错误,我错过了什么?

观景

def LoginPage(request):
    if request.method == "POST":
        ordernr = request.POST.get('bestellnummer')
        email = request.POST.get('email')
        try:
            ...."validation shopify api"
        else:
            return redirect(f'login/{ordernr}/{email}/')

URL应用程序

urlpatterns = [
    path('login/', views.LoginPage, name="login"),
    path('login/<str:pk>/<str:dk>/', views.OrderPage, name="order"),
]

{% extends 'main.html' %}

{% block content %}
    <div>
        <form action="POST" action="">{% csrf_token %}
            <div>
                <label for="bestellnummer">Ihre Bestellnummer</label>
                <input type="text" name="bestellnummer" id="bestellnummer" placeholder="Ihre Bestellnummer...">
            </div>
            <div>
                <label for="email">Ihre Bestell E-Mail</label>
                <input type="email" name="email" id="email" placeholder="Ihre E-Mail...">
            </div>
            <input type="submit" value="Login">
        </form>

    </div>
{% endblock content %}

找不到页面(404)您的文本 请求方法:GET 请求URL:http://127.0.0.1:8000/login/POST?csrfmiddlewaretoken=token123&bestellnummer=1337&email=somefiller@mail.com 使用retourenportal.urls中定义的URLconf,Djangotry 了以下URL模式,顺序如下:

管理/ LOGIN/[名称=‘LOGIN’] 登录/str:pk/str:邮箱/[name=‘Order’] 当前路径LOGIN/POST与其中任何一个都不匹配.

推荐答案

你写了两次action,而不是method:

<form method="POST" action="">
  {% csrf_token %}
  …
</form>

Django相关问答推荐

使用override_sets构建一个预装饰的类,以更快的客户端.登录?

Django-无法显示基于字段值的元素

如何在创建对象后立即运行一次代码?

如何在Django中显示文件大小

通过在其他查询中使用来过滤对象

带有变量键的 Django 模板括号表示法不起作用

如何自动删除 Django 模型中的字段值?

自定义身份验证 django

根据当前对象中的多对多字段过滤对象

只从查询集中获取某种类型的最新项目

使用 Pytest 在 Django 中编写测试用例时如何加载特定目录中的所有固定装置

Django 模型:如何查找自动生成的字段列表

来自 Django 应用程序的日志(log)消息未上传到 AWS CloudWatch

Django ORM 查询优化问题

virtualenv(python3.4), pip install mysqlclient 错误

在 Django Admin 中过滤多对多框

django 我们可以在预取相关模型上 Select 一个字段吗?

1 个 django 应用程序中约有 20 个模型

AWS Cognito 作为网站的 Django 身份验证后端

只使用 Django 的某些部分?