国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

我對 Django 中 froms 使用的理解

zhonghanwen / 2492人閱讀

摘要:我覺得中的就是用與渲染成語言的代碼。用來幫助我們減少寫的工作量。下面的代碼就是本博客實(shí)現(xiàn)評論功能的。

這篇文章談一下我對 Django 中 forms的簡單理解,確切的說像是一種代碼的說明。

我覺得 Django 中的forms 就是view用與渲染成html語言的代碼。用來幫助我們減少寫html的工作量。

下面的代碼就是本博客實(shí)現(xiàn)評論功能的forms。

from django import forms
from .models import Comment

import mistune


class CommentForm(forms.ModelForm):
    nickname = forms.CharField(
        label="昵稱",
        max_length=50,
        widget=forms.widgets.Input(
            attrs={"class": "form-control", "style": "width: 60%;"}
        )
    )
    email = forms.CharField(
        label="Email",
        max_length=50,
        widget=forms.widgets.Input(
            attrs={"class": "form-control", "style": "width: 60%;"}
        )
    )

    website = forms.CharField(
        label="網(wǎng)站",
        max_length=100,
        widget=forms.widgets.URLInput(
            attrs={"class": "form-control", "style": "width: 60%;"}
        )
    )

    content = forms.CharField(
        label="內(nèi)容",
        max_length=500,
        widget=forms.widgets.Textarea(
            attrs={"row": 6, "class": "form-control"}
        )
    )

    def clean_content(self):
        content = self.cleaned_data.get("content")
        if len(content) < 10:
            raise forms.ValidationError("內(nèi)容長度太短了!")
        content = mistune.markdown(content)
        return content
    
    class Meta:
        model = Comment
        fields = ["nickname", "email", "website", "content"]
       

下面我一段一段的解釋一下:

from django import forms  # 導(dǎo)入 forms 模塊
from .models import Comment  # 導(dǎo)入Comment模型,評論的需要填寫的字段均來自于此

import mistune  # 導(dǎo)入 mistune 模塊,為了使評論支持markdown語法
class CommentForm(forms.ModelForm):  # 我們寫的CommentForm 繼承了forms模塊中的ModelForm類
    nickname = forms.CharField(  # 這里我們對模型中的每一個字段對應(yīng)的表單進(jìn)行設(shè)置
        label="昵稱",  # 這里對應(yīng)html label標(biāo)簽中的文字
        max_length=50,  # 設(shè)置表單中填寫的最大長度
        widget=forms.widgets.Input(  # 設(shè)置html中的標(biāo)簽類型為input
            attrs={"class": "form-control", "style": "width: 60%;"}  # 規(guī)定input的樣式
        )
    )

def clean_content(self):  # 判斷評論長度和表單數(shù)據(jù)驗(yàn)證
        content = self.cleaned_data.get("content")
        if len(content) < 10:
            raise forms.ValidationError("內(nèi)容長度太短了!")
        content = mistune.markdown(content)
        return content

class Meta:  # 規(guī)定類的元數(shù)據(jù)
        model = Comment  
        fields = ["nickname", "email", "website", "content"]

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/45056.html

相關(guān)文章

  • Django數(shù)據(jù)驗(yàn)證(validating objects)

    摘要:在中,對數(shù)據(jù)進(jìn)行校驗(yàn)有兩種方式一種是通過中校驗(yàn),一種是通過校驗(yàn)。所有內(nèi)容都是基于的官網(wǎng)文檔整理而來數(shù)據(jù)校驗(yàn)的觸發(fā)中的校驗(yàn)是通過調(diào)用方法來執(zhí)行的。注意值得注意的是上面多次提到,在執(zhí)行方法的時候,是不會進(jìn)行數(shù)據(jù)校驗(yàn)的。 在Django中,對數(shù)據(jù)進(jìn)行校驗(yàn)有兩種方式:一種是通過Form中校驗(yàn),一種是通過Model校驗(yàn)。在次,我對Model中的校驗(yàn)方法做下記錄。 所有內(nèi)容都是基于Django1....

    張漢慶 評論0 收藏0
  • flask 爬坑指南(一)如何開始一個flask應(yīng)用

    摘要:前言去年十月開始學(xué)習(xí)一開始寫了一個的爬蟲將自己在過程中的一些經(jīng)驗(yàn)寫了下來沒想到那么多人支持。但目前也只是處于能用狀態(tài)。及如何將一個文件夾下文件變成一個包呢。而不僅僅是一個服務(wù)器無法理解此請求。 前言 去年十月開始學(xué)習(xí)python一開始寫了一個python的爬蟲 將自己在過程中的一些經(jīng)驗(yàn)寫了下來沒想到那么多人支 持。之后因?yàn)橐恍?shí)驗(yàn)室的需求就轉(zhuǎn)投python的web開發(fā) 一開...

    Michael_Lin 評論0 收藏0
  • Lunar, 一個Python網(wǎng)絡(luò)框架實(shí)現(xiàn)

    摘要:核心的幾個組件模板引擎,框架,請求和應(yīng)答的處理還是有一些難度,但是經(jīng)過一步步的分析和編碼還是能夠完成功能。模板引擎模板引擎是另外一個比較大和的模塊。 前前后后,大概兩個月的時間,lunar這個項(xiàng)目終于達(dá)到了一個很高的完整度。 Lunar是一個Python語言的網(wǎng)絡(luò)框架,類似于Django,F(xiàn)lask,Tornado等當(dāng)下流行的web framework。最初有這個想法是在大二下學(xué)期,...

    邱勇 評論0 收藏0
  • django rest framework個人學(xué)習(xí)筆記(一)————Install

    摘要:本文主要是用來記錄自己學(xué)習(xí)的過程。其中可能會有很多自己的錯誤理解。這里主要會用到的知識有百度百科阮一峰理解架構(gòu)其余請自行百度。所有的全局設(shè)置都放在的字典中。使用標(biāo)準(zhǔn)的權(quán)限,未認(rèn)證的用戶只讀權(quán)限不要忘記將添加到你的中。 本文主要是用來記錄自己學(xué)習(xí)django-rest-framework的過程。其中可能會有很多自己的錯誤理解。 這里主要會用到的知識有 1. [django](https:...

    yuxue 評論0 收藏0
  • django rest framework個人學(xué)習(xí)筆記(一)————Install

    摘要:本文主要是用來記錄自己學(xué)習(xí)的過程。其中可能會有很多自己的錯誤理解。這里主要會用到的知識有百度百科阮一峰理解架構(gòu)其余請自行百度。所有的全局設(shè)置都放在的字典中。使用標(biāo)準(zhǔn)的權(quán)限,未認(rèn)證的用戶只讀權(quán)限不要忘記將添加到你的中。 本文主要是用來記錄自己學(xué)習(xí)django-rest-framework的過程。其中可能會有很多自己的錯誤理解。 這里主要會用到的知識有 1. [django](https:...

    yagami 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<