django - 重定向()没有指向正确的视图
问题描述
我正在尝试在成功提交在我的视图中找到的表单后使用redirect()
重定向到我的视图的方法。我有以下内容:index
register
urls.py
from django.contrib import admin
from django.urls import path
from users import views as usersViews
urlpatterns = [
path('admin/', admin.site.urls),
path('', usersViews.index, name = 'index'),
path('register/', usersViews.register, name = 'regsister'),
]
以及以下内容views.py
:
from django.shortcuts import render, redirect
from .forms import RegistrationForm
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse('signed up')
def register(request):
if request.method == 'POST':
form = RegistrationForm(request.POST)
if form.is_valid():
form.save() # save form? to db?
username = form.cleaned_data.get('username')
email = form.cleaned_data.get('email')
return redirect("index") #this statement is not working
else:
form = RegistrationForm()
return render(request, 'users/registration.html', {'registrationForm':form})
提交表单后,我被重定向到“/register/index.html”而不是“/”(索引页)。有人能帮忙吗?
解决方案
反向尝试:
from django.urls import reverse
return redirect(reverse('app_name:view_name'), {'registrationForm':form})
推荐阅读
- python - 从导入的 excel 文件中过滤字典条目
- python - 无法将图像添加到pygame
- python - 使用 python 抓取网页('NoneType' 对象没有属性 'get_text')
- python-3.x - 选择后获取OptionMenu值并存储在数组中
- python - Spyder Anaconda 无法启动
- java - 如何在同一个程序中调用 2 种不同的绘制方法?
- php - phpMyAdmin DisplayResults.php#1226 中的错误
- mysql - 我有两张桌子(会员和人)。我想得到一个职位最高的人的每个名字
- filter - 制表符标题过滤器格式
- sql - 将 value = NULL 的新键添加到现有 JSON 对象