[英]Getting the cleaned_data of a CharField with Choice from Django
[英]Getting string from CharField
我一直在网上寻找,但无济于事。 我正在尝试从Django中的CharField获取url字符串。
class EntryForm(forms.ModelForm):
class Meta:
model = Entry
fields = ['url']
def get_url(self):
temp = self.fields['url']
string = temp.to_python(temp)
return string
这将返回一个unicode对象,但无法正常显示,如终端输出所示:
url is:
<django.forms.fields.CharField object at 0x10781b410>
该模型在这里:
class Entry(models.Model):
url = models.CharField(max_length=200)
article_title = models.CharField(max_length=200, default="generic title")
def __unicode__(self):
val = str(self.url) + ", " + str(self.article_title)
return val
使用Python 2.7。 有人能帮忙吗? 谢谢!
您应该在您的views.py中:
form = EntryForm(request.POST, instance=instance)
if form.is_valid():
url = form.cleaned_data['url']
使用Form.clean()函数获取表单数据。
def get_url(self):
cleaned_data = self.clean()
return cleaned_data.get('url')
为什么不使用is_valid()
呢?
is_valid()
自动在表单上调用clean()
。 您在视图中使用is_valid()
,在表单类中使用clean()
。
此功能是Form
功能,而不是View
功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.