python - 我正在合并多个表单,并在 django 的注册表单中获取 ValueError/,同时链接到另一个表单数据库
问题描述
[这是使用 print 来检查的更新代码][1]我得到了ValueError
at /Register
。错误是:
The view Capp.views.Insertrecord didn't return an HttpResponse object. It returned None instead.
我正在合并各种html
形式。即使检查了变量,它到处都是一样的。我在models.py
此处附上了 [ ] 图片以供参考。所有表格都可以正常工作,但是在单击注册表单的提交按钮后,发生了此错误。
视图.py
# Create your views here.
from django.shortcuts import render,redirect
from .form import company_insert_Form
from .models import company_insert, subscrip, register,ProInsert
from django.shortcuts import get_object_or_404, render
from django.contrib import messages
def index(request):
if request.method == "POST":
form= company_insert_Form(data=request.POST,files=request.FILES)
if form.is_valid():
form.save()
obj=form.instance
return render(request,"product_details.html")
else:
form=company_insert_Form()
img=company_insert.objects.all()
return render(request,"companydetails.html",{"form":form})
def Indexpage(request):
return render(request,'frontpage.html')
def Insertrecord(request):
if request.method=='POST':
if request.POST.get('firstname') and request.POST.get('user_lastname') and request.POST.get('user_id') and request.POST.get('user_pass') and request.POST.get('confirm_user_pass') and request.POST.get('phone_code') and request.POST.get('mob_no') and request.POST.get('user_otp') :
saverecord= register()
saverecord.firstname=request.POST.get('firstname')
saverecord.user_lastname=request.POST.get('user_lastname')
saverecord.user_id=request.POST.get('user_id')
saverecord.user_pass=request.POST.get('user_pass')
saverecord.confirm_user_pass=request.POST.get('confirm_user_pass')
saverecord.phone_code=request.POST.get('phone_code')
saverecord.mob_no=request.POST.get('mob_no')
saverecord.user_otp=request.POST.get('user_otp')
saverecord.save()
messages.success(request,'The new user '+request.POST['user_id']+' Saved Successfully...!')
return render(request,'subscription.html')
else:
return render(request,'index.html')
def LoginPage(request):
if request.method=="POST":
try:
Userdetails=get_object_or_404(register,user_id=request.POST['user_id'],user_pass=request.POST['user_pass'])
print("User Id=",Userdetails)
request.session['user_id']=Userdetails.user_id
return render(request,'frontpage.html')
except register.DoesNotExist as e:
messages.success(request,'User_id/Password invalid!')
return render(request,'login.html')
def Subscription(request):
if request.method=='POST':
if request.POST.get('s_type') and request.POST.get('s_duration') and request.POST.get('s_amt') :
savesubs= subscrip()
savesubs.s_type=request.POST.get('s_type')
savesubs.s_duration=request.POST.get('s_duration')
savesubs.s_amt=request.POST.get('s_amt')
savesubs.save()
messages.success(request,'Your '+request.POST['s_type']+' subscription is Successful!')
return render(request,'companydetails.html')
else:
return render(request,'subscription.html')
def InsertProduct(request):
if request.method=='POST':
if request.POST.get('pname') and request.POST.get('pcategory') and request.POST.get('pdetails') and request.POST.get('foundedin') and request.POST.get('orderoftest') and request.POST.get('t1') and request.POST.get('t2') and request.POST.get('t3') and request.POST.get('f1') and request.POST.get('f2') and request.POST.get('f3')and request.POST.get('f4')and request.POST.get('f5'):
saveproduct= ProInsert()
saveproduct.pname=request.POST.get('pname')
saveproduct.pcategory=request.POST.get('pcategory')
saveproduct.pdetails=request.POST.get('pdetails')
saveproduct.foundedin=request.POST.get('foundedin')
saveproduct.orderoftest=request.POST.get('orderoftest')
saveproduct.t1=request.POST.get('t1')
saveproduct.t2=request.POST.get('t2')
saveproduct.t3=request.POST.get('t3')
saveproduct.f1=request.POST.get('f1')
saveproduct.f2=request.POST.get('f2')
saveproduct.f3=request.POST.get('f3')
saveproduct.f4=request.POST.get('f4')
saveproduct.f5=request.POST.get('f5')
saveproduct.save()
messages.success(request,'Product Added..!')
return render(request,'frontpage.html')
else:
return render(request,'product_details.html')
模型.py:
from django.db import models
# Create your models here.
class company_insert(models.Model):
compname=models.CharField(max_length=50)
complogo=models.ImageField(upload_to="img/%y", null=True, blank=True)
location=models.CharField(max_length=50)
founded=models.IntegerField(50)
revenue=models.PositiveBigIntegerField()
customerserved=models.PositiveBigIntegerField()
website=models.CharField(max_length=50)
fname=models.CharField(max_length=50)
pcontact=models.CharField(max_length=50)
emailpcontact=models.CharField(max_length=50)
phone=models.CharField(max_length=10)
def __str__(self):
return self.compname
class Meta:
db_table="company_details_trial"
class register(models.Model):
firstname=models.CharField(max_length=50, null=True, blank=True)
user_lastname=models.CharField(max_length=50)
user_id=models.CharField(max_length=50)
user_pass=models.CharField(max_length=20)
confirm_user_pass=models.CharField(max_length=20)
phone_code=models.CharField(max_length=10)
mob_no=models.CharField(max_length=20)
user_otp=models.CharField(max_length=10)
class Meta:
db_table="registration"
class subscrip(models.Model):
s_type=models.CharField(max_length=1)
s_duration=models.CharField(max_length=20)
s_amt=models.CharField(max_length=20)
class Meta:
db_table="subscription"
class ProInsert(models.Model):
pname=models.CharField(max_length=50)
#complogo=models.ImageField(upload_to=get_filename, null=True, blank=True)
pcategory=models.CharField(max_length=50)
pdetails=models.CharField(max_length=500)
foundedin=models.IntegerField(50)
orderoftest=models.IntegerField(50)
t1=models.CharField(max_length=500)
t2=models.CharField(max_length=500)
t3=models.CharField(max_length=500)
f1=models.CharField(max_length=500)
f2=models.CharField(max_length=100)
f3=models.CharField(max_length=100)
f4=models.CharField(max_length=100)
f5=models.CharField(max_length=100)
class Meta:
db_table="step3and4"
追溯
Environment:
Request Method: POST
Request URL: http://127.0.0.1:8000/Register
Django Version: 3.2.5
Python Version: 3.9.6
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Capp']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback (most recent call last):
File "C:\Users\Vaishnavi\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "C:\Users\Vaishnavi\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\base.py", line 188, in _get_response
self.check_response(response, callback)
File "C:\Users\Vaishnavi\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\base.py", line 309, in check_response
raise ValueError(
Exception Type: ValueError at /Register
Exception Value: The view Capp.views.Insertrecord didn't return an HttpResponse object. It returned None instead.
解决方案
推荐阅读
- tensorflow - 基于过去和未来值的每个时间序列步骤的二进制分类
- php - 日志解析器 - 扩展
- javascript - 确定日期是否在 Angular/Javascript 中的周末
- php - 如何在 Laravel 5.5 的 URL 验证中传递 %?
- powershell - 将变量传递给 Invoke-Command、inlineScript 内部、工作流内部
- javascript - 算法的时间复杂度
- tflearn - tflearn - 嵌入层中的快速文本词向量错误
- java - 在开关情况下使用枚举但不作为开关参数
- angular - Angular CLI 6.0.0 - 无法生成组件
- php - 如何使用 preg_replace 将逗号后跟多个空格和 & 符号替换为 &