簡體   English   中英

從CharField獲取字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM