如何修复 NoReverseMatch?

2024-06-01 00:44:40 发布

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

单击“提交”按钮时,我想返回到当前页面

无论我是否重定向,只要我单击submit,仍然会报告NoReverseMatch,但数据库已经添加

url.py

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

    urlpatterns = [
        path('student/', include('student.urls')),
        path('admin/', admin.site.urls),
    ]

app.url.py

    from django.urls import path
    from . import views

    app_name = 'student'
    urlpatterns = [
        path('', views.index, name='index'),
    ]

视图.py

    from django.shortcuts import render, redirect

    from .forms import StudentForm
    from .models import Student

    def index(request):
        students = Student.get_all()
        if request.method == 'POST':
            form = StudentForm(request.POST)
            if form.is_valid():
                form.save()
                #return redirect(reverse('index'))
        else
            form = StudentForm()

        context = {'students': students, 'form':form,}

        return render(request, 'index.html', context=context)

index.html

    <!DOCTYPE html>
    <html>
        <head>
            <title>学员管理系统</title>
        </head>
        <body>
            <h3><a href="/admin/">管理员</a></h3>
            <ul>
                {% for student in students %}
                <li>{{ student.name }} - {{ student.get_status_display 
    }}</li>
                {% endfor %}
            </ul>
            <hr/>
            <form  method="post">
                {% csrf_token %}
                {{ form }}
                <input type="submit" value="Submit" />
            </form>
        </body>
    </html>

the page like that


Tags: pathdjangonamefrompyimportformindex