Django Form兩種保留使用者提交資料的方法

2022-05-15 16:33:14 字數 4259 閱讀 9522

使用者在網頁上進行表單填寫時,有可能出現某項填寫錯誤。一般情況下,使用者在未發覺錯誤的情況下點選提交,則此表單的內容會清空,使用者不得不再重新填寫,這樣的使用者體驗是及其糟糕的。

在此,我們有2種方法將使用者的輸入儲存下來,一旦填寫錯誤,只需要將錯誤項修改即可重新提交。

5#form驗證

6class

testform(form):

7 inp1 = fields.charfield(min_length=4, max_length=8)

8 inp2 = fields.emailfield()

9 inp3 = fields.integerfield(min_value=10, max_value=100)

101112#

測試函式

提交成功')

21return render(request, '

test.html

', )

2. test.html

1

doctype html

>

2<

html

lang

="en"

>

3<

head

>

4<

meta

charset

="utf-8"

>

5<

title

>title

title

>

6head

>

7<

body

>

8<

form

action

="/test/"

method

="post" novalidate

>910

<

p>輸入1} }

p>

11<

p>輸入2} }

p>

12<

p>輸入3} }

p>

13<

input

type

="submit"

value

="提交"

>

14form

>

15body

>

16html

>

novalidate遮蔽瀏覽器提供的表單驗證功能
說明:若使用者輸入不符合自定義的form規則,則會返回obj = testform(request.post),重新渲染test.html,而此時,obj中包含了上次使用者輸入的所有內容。

效果:提交之後出現錯誤提示,但使用者輸入的資料依然存在

ajax提交資料雖然不重新整理網頁,但是無法完成使用者輸入驗證,還須借助form返回給其驗證資訊

#form驗證

p>輸入1 <

input

type

="text"

name

="inp1"

>

p>

11<

p>輸入2 <

input

type

="text"

name

="inp2"

>

p>

12<

p>輸入3 <

input

type

="text"

name

="inp3"

>

p>

13<

input

type

="button"

onclick

="ajax_submit();"

value

="提交"

>

14form

>

15body

>

16<

script

src="/static/jquery-3.2.1.js"

>

script

>

17<

script

>

18function

ajax_submit()

20$(

".c1

").remove();

21$.ajax(

else)37

}38}39

})40}41

script

>

42html

>

說明:若使用者輸入不符合form規則,ajax獲取錯誤資訊,並動態新增錯誤資訊至span標籤,提示使用者

效果:

在Sql Server中 保留幾位小數的兩種做法

資料庫裡的 float momey 型別,都會精確到多位小數。但有時候 我們不需要那麼精確,例如,只精確到兩位有效數字。使用 round 函式,如 round num,2 引數 2 表示 保留兩位有效數字。更好的方法是使用 convert decimal 18,2 num 實現轉換,decimal ...

兩種if判斷

上海面試三 下面是c語言中兩種if語句判斷方式。請問哪種寫法更好?為什麼?int a if a1 第一種判斷方式 if 1a 第二判斷方式 答 這是個主觀題,不過多數人認為第二種好。從執行效率上講,第二種效率更高。另外,在編寫 時如果不小心將 寫成 即變成 1 a 這時編譯器將會給出錯誤提示。而如果...

mysql的兩種引擎 mysql的兩種儲存引擎

背景 最近在使用spring data jpa操作mysql,在使用jpa的自動建表功能之後,處理多對多關係 manytomany的時候,spring data jpa會給中間表的兩個欄位都加上外來鍵引用。當前使用的版本預設的資料庫儲存引擎為myisam。這種儲存引擎是為資料庫查詢效能而生的,不支援...