Python之Django自動(dòng)實(shí)現(xiàn)html代碼(下拉框,數(shù)據(jù)選擇)
我就廢話不多說(shuō)了,還是直接看代碼吧!
#模板 class IndexForm(forms.Form): # 模板,用戶提交的name和這里的變量名一定要是一致的.否則不能獲取數(shù)據(jù) user = forms.CharField(min_length=6, error_messages={'required': '用戶名不能為空', 'min_length': '用戶名長(zhǎng)度不能小于6'}) email = forms.EmailField(error_messages={'required': '郵箱不能為空', 'invalid': '郵箱格式錯(cuò)誤'}) """ 單選 favor = forms.ChoiceField( choices=[(1, '小虎'), (2, '小小虎'), (3, '小B虎')] ) """ # 多選 favor = forms.MultipleChoiceField( choices=[(1, '小虎'), (2, '小小虎'), (3, '小B虎')] ) pass #函數(shù) def index(request): obj = IndexForm() return render(request, "index.html", {'obj': obj}) def edit_index(request): obj = IndexForm({'user': 'root', 'email': '123@qq.com', 'favor': [2,3]}) return render(request, "index.html", {'obj': obj}) #前端 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <p>{{ obj.user }}</p> <p>{{ obj.email }}</p> <p>{{ obj.favor }}</p> </body> </html>
補(bǔ)充知識(shí):django使用模板實(shí)現(xiàn)下拉菜單,菜單內(nèi)容讀取后臺(tái)動(dòng)態(tài)填充,并動(dòng)態(tài)設(shè)置默認(rèn)值
看代碼吧!
<select id="heard1" class="form-control" required="" data-parsley-id="6485" name="name"> {% for name in data_list %} <option id="name" value="{{ name }}" {% if name == role_name %} selected {% endif %}>{{ name }}</option> {% endfor %} </select>
這里面的重點(diǎn)是:
{% if name == role_name %} selected {% endif %}
這句話中得判斷條件,name就是自己從data_list中遍歷出來(lái)得那個(gè)name, role_name也是自己傳過(guò)來(lái)得數(shù)據(jù),這個(gè)數(shù)據(jù)是我自己定義的另一個(gè)庫(kù)中的數(shù)據(jù),因?yàn)閮蓚€(gè)庫(kù)是關(guān)聯(lián)的;
data = UserManage.objects.get(id=id) role_name = data.user_role.name query_name_list_set = RolesManage.objects.values("name") data_list = [] for name_dict in query_name_list_set: data_list.append(name_dict.get("name")) return render(request, "users_manage/edit.html", {"data": data, "data_list": data_list, "role_name": role_name})
貼上代碼,為了防止自己忘記了好回過(guò)頭來(lái)翻看
以上這篇Python之Django自動(dòng)實(shí)現(xiàn)html代碼(下拉框,數(shù)據(jù)選擇)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python創(chuàng)建關(guān)聯(lián)數(shù)組(字典)的方法
這篇文章主要介紹了python創(chuàng)建關(guān)聯(lián)數(shù)組(字典)的方法,涉及Python操作字典的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05Python實(shí)現(xiàn)雙色球號(hào)碼隨機(jī)生成
和體彩大樂(lè)透類(lèi)似,福彩雙色球也是購(gòu)買(mǎi)次數(shù)最多的彩種之一,相比大樂(lè)透,雙色球更容易中小獎(jiǎng)。本文將介紹?Python?實(shí)習(xí)雙色球彩票自由的流程,感興趣的可以了解一下2022-05-05Python實(shí)現(xiàn)批量合并Excel文件的第二張合并Excel
在數(shù)據(jù)處理和分析中,經(jīng)常需要對(duì)多個(gè)Excel文件進(jìn)行批量操作,特別是當(dāng)這些文件具有相似的結(jié)構(gòu)時(shí),下面我們就來(lái)看看Python如何實(shí)現(xiàn)批量合并文件夾下所有Excel文件的第二張表吧2024-03-03python光學(xué)仿真學(xué)習(xí)wxpython創(chuàng)建手速測(cè)試程序
這篇文章主要介紹了python光學(xué)仿真學(xué)習(xí)使用wxpython創(chuàng)建一個(gè)手速測(cè)試程序示例的實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10python 進(jìn)程 進(jìn)程池 進(jìn)程間通信實(shí)現(xiàn)解析
這篇文章主要介紹了python 進(jìn)程 進(jìn)程池 進(jìn)程間通信實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08conda下載各種包時(shí)如何避免版本不匹配問(wèn)題
在使用python和conda時(shí),由于Python版本不匹配,可能會(huì)導(dǎo)致一些問(wèn)題的出現(xiàn),本文主要介紹了conda下載各種包時(shí)如何避免版本不匹配問(wèn)題,感興趣的可以了解一下2024-03-03深入淺析Python科學(xué)計(jì)算庫(kù)Scipy及安裝步驟
這篇文章主要介紹了Python科學(xué)計(jì)算庫(kù)—Scipy的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10python正則表達(dá)式匹配[]中間為任意字符的實(shí)例
今天小編就為大家分享一篇python正則表達(dá)式匹配[]中間為任意字符的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12python通過(guò)自定義isnumber函數(shù)判斷字符串是否為數(shù)字的方法
這篇文章主要介紹了python通過(guò)自定義isnumber函數(shù)判斷字符串是否為數(shù)字的方法,涉及Python操作字符串判斷的相關(guān)技巧,需要的朋友可以參考下2015-04-04