gpt4 book ai didi

python - 如何在不使用自动模型表单的情况下从 Django 的文本框中获取数据?

转载 作者:搜寻专家 更新时间:2023-10-30 20:42:05 29 4
gpt4 key购买 nike

我想做一件非常简单的事情,但由于某种原因我还没有找到解决方案。我有一个 HTML 表单

<form id="user_form" method="POST" action="/ProjectName/home/">

{% csrf_token %}

<div class="registerLabel">
Full name:
</div>
<div class="registerTextLabel">
<input type="text" id="registerFullName" class="registerTextDetails">
</div>
<div class="registerLabel">
Username:
</div>
<div class="registerTextLabel">
<input type="text" id="registerUsername" class="registerTextDetails">
</div>

<div id="registerButtonDiv">
<button class="registerButtons" id="cancelRegisterButton">Cancel</button>
<button type="submit" class="registerButtons" id="submitRegistration">Register</button>
</div>
</form>

我想要的是在填写此表单并提交它以获取所有文本框值并将其放入我的数据库中。

数据库模型是这样实现的:

class User(models.Model):
username = models.CharField(max_length=200)
password = models.CharField(max_length=200)
...
def __unicode__(self):
return self.username

这是 View 的代码:

def register(request):
context = RequestContext(request)
registed = False
if request.method == 'POST':
form = User(data = request.POST)
username = request.POST.get('registerUsername')
password = request.POST.get('registerPass')
user = form.save()
username = User.username
password = User.password
u = User(username,password,...)
u.save()
registered = True
else:
form = User()

return render_to_response('ProjectName/home.html', {'user_form':User}, context)

我不想使用 Django 从模型生成表单的自动化方式。

最佳答案

您忘记在表单中定义名称。这对于获取 POST 数据很重要。

<form .........>
{{error}}<br/><br/>
<div class="registerLabel">Username:</div>
<div class="registerTextLabel">
<input type="text" id="registerUsername" name="registerUsername" class="registerTextDetails">
</div>

<div class="registerLabel" id="registerLabelPass">Password:</div>
<div class="registerTextLabel">
<input type="password" id="registerPass" name="registerPass" class="registerTextDetails">
</div>
</form>

def register(request):
context = RequestContext(request)
registered = False
error = ''
if request.method == 'POST':
username = request.POST.get('registerUsername')
password = request.POST.get('registerPass')

if username and password:
username_exist = User.objects.filter(username=username)
if username_exist:
error = username is already taken, try another
else:
User.objects.create(username=username, password=password)
registered = True
else:
error = all fields are required

return render_to_response('ProjectName/home.html', {'error':error}, context)

关于python - 如何在不使用自动模型表单的情况下从 Django 的文本框中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15323880/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com