我无法在 Django 数据库中查看我的表单输入
I cant view my form inputs in the django database
我是 django 的学习者。我已经创建了我的第一个表单,但是当我输入数据时,我在我的数据库中看不到它,但在我的 shell 中看到了。我已经重新检查了我的代码,但它看起来很好,但它仍然不会保存在我的数据库中的代码中。
请帮帮我 here.Thanks.
型号:
from django.db import models
class Login(models.Model):
first_name = models.CharField(max_length=200)
second_name = models.CharField(max_length=200)
email = models.EmailField()
password = models.CharField(max_length=200)
查看:
from django.http import HttpResponse
from django.shortcuts import render
from .models import Login
from .forms import login_form
def homeview(request):
return HttpResponse("<h1>Hello There</h1>")
def login_view(request):
form = login_form(request.POST or None)
if form.is_valid:
form.save
context = {
"form":form
}
return render(request, "login.html", context)
模板:
{% block content %}
<form action="" method="GET">{% csrf_token %}
{{form.as_p}}
<input type="submit" value="Login"/>
</form>
{% endblock %}
表格:
from django import forms
from .models import Login
class login_form(forms.ModelForm):
class Meta:
model = Login
fields = [
"first_name",
"second_name",
"email",
"password"
]
以下行不正确:
if form.is_valid:
form.save
目前 if
将始终 return True
因为 .is_valid
return 是绑定方法。
您需要致电 is_valid
-> form.is_valid()
form.save
相同。您只会 return 绑定方法 save
,但不会调用它。
这些行看起来像这样:
if form.is_valid():
form.save()
此外:在您的模板中,您的表单使用的 method
是 GET
,但您正在访问 request.POST
。您需要将其中任何一个更改为另一种方法,例如method="POST"
.
我是 django 的学习者。我已经创建了我的第一个表单,但是当我输入数据时,我在我的数据库中看不到它,但在我的 shell 中看到了。我已经重新检查了我的代码,但它看起来很好,但它仍然不会保存在我的数据库中的代码中。 请帮帮我 here.Thanks.
型号:
from django.db import models
class Login(models.Model):
first_name = models.CharField(max_length=200)
second_name = models.CharField(max_length=200)
email = models.EmailField()
password = models.CharField(max_length=200)
查看:
from django.http import HttpResponse
from django.shortcuts import render
from .models import Login
from .forms import login_form
def homeview(request):
return HttpResponse("<h1>Hello There</h1>")
def login_view(request):
form = login_form(request.POST or None)
if form.is_valid:
form.save
context = {
"form":form
}
return render(request, "login.html", context)
模板:
{% block content %}
<form action="" method="GET">{% csrf_token %}
{{form.as_p}}
<input type="submit" value="Login"/>
</form>
{% endblock %}
表格:
from django import forms
from .models import Login
class login_form(forms.ModelForm):
class Meta:
model = Login
fields = [
"first_name",
"second_name",
"email",
"password"
]
以下行不正确:
if form.is_valid:
form.save
目前 if
将始终 return True
因为 .is_valid
return 是绑定方法。
您需要致电 is_valid
-> form.is_valid()
form.save
相同。您只会 return 绑定方法 save
,但不会调用它。
这些行看起来像这样:
if form.is_valid():
form.save()
此外:在您的模板中,您的表单使用的 method
是 GET
,但您正在访问 request.POST
。您需要将其中任何一个更改为另一种方法,例如method="POST"
.