【发布时间】:2021-05-24 11:36:51
【问题描述】:
我们正在尝试通过表单中的post方法获取姓名,电子邮件ID和密码,我们得到的数据是none而不是表单中填写的数据。
view.py
from django.http import HttpResponse
# Create your views here.
def sign_up_in(response):
email = response.POST.get('eemail') #Getting the data of email by the name of eemail
print(email) #Trying to print the email that we got from the form
return render(response, "main/sign_up_in.html",{})
HTML 代码
有两种形式,我们试图从第一种形式中获取数据。第一个表单用于创建帐户,第二个表单用于登录。
<form method="POST" class="form" id="a-form" action="">
<h2 class="form_title title">Create Account</h2>
<div class="form__icons"><img class="form__icon" src="svg_data" alt=""><img class="form__icon" src="svg_data"><img class="form__icon" src="svg_data"></div><span class="form__span">or use email for registration</span>
<input class="form__input" type="text" placeholder="Name" name="eemail">
<input class="form__input" type="text" placeholder="Email">
<input class="form__input" type="password" placeholder="Password">
<button class="form__button button submit">SIGN UP</button>
</form>
<form method="POST" class="form" id="b-form" action="">
<h2 class="form_title title">Sign in to Website</h2>
<div class="form__icons"><img class="form__icon" src="svg_data" alt=""><img class="form__icon" src="svg_data"><img class="form__icon" src="svg_data"></div><span class="form__span">or use your email account</span>
<input class="form__input" type="text" placeholder="Email" name="eemail">
<input class="form__input" type="password" placeholder="Password"><a class="form__link">Forgot your password?</a>
<button class="form__button button submit">SIGN IN</button>
</form>
url.py
from . import views
urlpatterns = [
path("", views.Home, name = "Homes"),
path("sign/", views.sign_up_in, name = "sign_up_in")
]
【问题讨论】:
-
请注意,您的
Email和Password字段都没有指定名称,而您的Name字段的名称设置为eemail。这是故意的吗?您在测试代码时是否意识到这一点? -
此表单是否在带有 url
sign/的页面上?你得到None作为输出before 或after 提交表单?无论请求的方法如何,在打印页面时,您肯定会在提交表单之前得到它。 -
是的,sign/ 是表单的 url。点击提交按钮后,我们正在打印数据,数据显示为 NONE。
-
@KshitijKarkera 你有两张照片是
None还是一张?我相信它应该是一个None和其他带有您实际输入的打印件(或者如果您不输入任何内容,则为空字符串,因此为空行)... -
GwynBleidD 我们只为电子邮件文本字段提供名称以测试请求是否有效
标签: javascript python html css django