首页 > 解决方案 > 提交 Django 表单后不重定向

问题描述

嗨,亲爱的所有天才 Django 专家。我是 django 的新手。我的表单提交有问题。单击提交后,我的表单未重定向。我的问题在下面

<h1> this is views.py page <h1>

from django.shortcuts import render, redirect
from crud.models import Userlist
from crud.forms import UserListForm
# Create your views here.
def addforms(request):
    if request.method == "POST":
        form = UserListForm(request.POST)
        if form.is_valid():
            try:
                form.save()
                return redirect()
            except:
                pass
    else:
        form = UserListForm()
    return render(request, 'crud/index.html', {'form': form})
def show(request):
    user9 = Userlist.objects.all()
    return render(request, 'crud/show.html', {'user': user9})
def index(request):
    return render(request, 'crud/index.html')

我在那里添加我的 HTML 表单文件...

<form action="/crud/addforms/" class="post-form" method="POST">
    {% csrf_token %}

        <br>
    <label>
        user Name :
            {{form.user_name}}
    </label>
        <br>
        <br>
    <label>
        user Email : {{form.user_email}}
    </label>
        <br>
        <br>
    <label>
        user phone :    {{form.user_phone_number}}
    </label>

    <br>
    <br>
    <input type="submit" value="Submit">
</form>

现在我添加了显示用户列表 HTML 表单听到。这个实际问题是,当我将用户信息放入提交表单时,它应该是重定向 show.html 页面。但是单击提交按钮后仍然存在...

<!DOCTYPE html>
    <html lang="en">
        <head>  
            <meta charset="UTF-8">  
            <title>Employee Records</title>  
        </head>
     <body>
        <table class="table table-striped table-bordered table-sm">  
            <thead class="thead-dark">  
                <tr>
                    <th>ID</th>
                    <th>User Name</th>
                    <th>User Email</th>
                    <th>User Contact</th>
                    <th>Actions</th>
                </tr>
            </thead>

            <tbody>  
                {% for dt in user9 %}
                <tr>
                    <td>{{ dt.id }}</td>
                    <td>{{ dt.user_name }}</td>
                    <td>{{ dt.user_email }}</td>
                    <td>{{ dt.user_phone_number }}</td>
                    <td>
                        <a href="/edit/{{ dt.id }}"><span class="glyphicon glyphicon-pencil" >Edit</span></a>
                        <a href="/delete/{{ dt.id }}">Delete</a>
                    </td>
                </tr>
                {% endfor %}
            </tbody>  
        </table>  
            <br>
            <br>
        <center><a href="/crud/addforms" class="btn btn-primary">Add New Record</a></center>
     </body>
    </html> 

标签: pythondjango

解决方案


您必须添加重定向到的路径,这篇文章应该可以帮助您重定向教程djangoproject

编辑:

这就是我所说的路径

def addform(request):
    response = redirect('/redirect-success/')
    return response

问题在于return redirect()您没有指定表单将重定向到的位置。做这样的事情return redirect('show') show是你的路径的名称urls.py


推荐阅读