我正在使用Django创建一个电子商务应用程序。我正在尝试将用户数据保存在数据库中,但无法正常工作。我正在使用MySQL作为数据库。
我已经尝试过使用MySQL原始查询和表单。
这是我接受用户输入的模板。
demo.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form method='POST' action="/demo">
{% csrf_token %}
<div class='main'>
<label>Full Name</label>
{{ form.fname }}
<label>UserName</label>
{{ form.uname }}
<label>Email</label>
{{ form.email }}
<label>mobile</label>
{{ form.mobile }}
<label>Password</label>
{{ form.password }}
<button type="submit">Click me!</button>
</div>
</form>
</body>
</html>
我的模特:
class new_table(models.Model):
fname = models.CharField(max_length=50)
uname = models.CharField(max_length=50)
mobile = models.IntegerField()
email = models.CharField(max_length=50)
password = models.CharField(max_length=50)
class Meta:
db_table = 'new_table'
我保存表单的观点: views.py
def demo_action(request):
if(request.method == 'POST'):
form = NewTableForm(request.POST)
if form.is_valid():
try:
form.save()
return redirect()
except:
pass
else:
form = NewTableForm()
return render(request,"demo.html",{'form':form})
我的表单:
forms.py
class NewTableForm(forms.ModelForm):
class Meta:
model = new_table
fields = "__all__"
答案 0 :(得分:1)
我认为您在提交表单时遇到了form.py错误
尝试
def demo_action(request):
if request.method == 'POST':
form = NewTableForm(request.POST)
if form.is_valid():
try:
form.save()
return redirect()
except:
pass
else:
print(form.errors)
form = NewTableForm(request.POST)
return render(request,"demo.html",{'form':form})
else:
form = NewTableForm()
return render(request,"demo.html",{'form':form})
在模板中
<form method='POST' action="/demo">
{% csrf_token %}
<div class='main'>
<label>Full Name</label>
Error = {{form.errors}}
{{ form.fname }}
<label>UserName</label>
{{ form.uname }}
<label>Email</label>
{{ form.email }}
<label>mobile</label>
{{ form.mobile }}
<label>Password</label>
{{ form.password }}
<button type="submit">Click me!</button>
</div>
</form>
希望有帮助