如何解决如何在Django中进行表单验证/处理?
| 这是我的views.pyfrom django.conf import settings
from django.shortcuts import render_to_response
from django.template import RequestContext,loader
from django import forms
from django.core import validators
from django.contrib.auth.models import User
from django.utils import simplejson
def PermLayer(request):
users = User.objects.all()
if request.method == \'POST\':
form = PermForm(request.POST)
if form.is_valid():
user = form.cleaned_data[\'user\']
rad1=form.cleaned_data[\'radio1\']
rad2=form.cleaned_data[\'radio2\']
perm = Permission()
perm.user = user
perm.table = ContentType.objects.get_for_model(TableToAddPermissionFor)
perm.permi = rad1 + rad2
perm.save()
return render_to_response(\'permission.html\',{\'user\':users})
else:
form = PermForm()
return render_to_response(\'permission.html\',{\'user\':users})
这是我的forms.py
from django import forms
from django.forms.widgets import RadioSelect
class PermForm(forms.Form):
user = forms.CharField(max_length=100)
RADIO_CHOICES1 = [[\'1\',\'Radio 1\'],[\'2\',\'Radio 2\']]
RADIO_CHOICES2 = [[\'3\',\'Radio 2\'],[\'4\',\'Radio 2\']]
radio = forms.ChoiceField( widget=RadioSelect(),choices=RADIO_CHOICES1)
radio = forms.ChoiceField( widget=RadioSelect(),choices=RADIO_CHOICES2)
如何验证表单,就像我要检查用户是否在数据库中一样,并检索其主键。我确实知道必须使用django.db中的Q,但是对此缺少一些文档。
解决方法
如果我已正确理解您的信息,则要检查数据库中是否存在用户?
如果是这样,为什么不将PermForm(forms.py)中的用户字段设置为ForeignKey(User)?
好的,通过这种方式获取用户:
user = User.objects.get(username=form.cleaned_data[\'user\'])
用户的主键是user.id
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。