久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

Django 如何使用日期時(shí)間選擇器規(guī)范用戶的時(shí)間輸入示例代碼詳解

瀏覽:53日期:2024-09-30 17:28:25

如果你的模型中含有 datetime 類型的字段,表單中需要用戶輸入日期和時(shí)間,那么你如何保證不同用戶輸入的時(shí)間都遵循一定的格式 (DD/MM/YYYY 或者 YYYY-MM-DD) 是個(gè)必須要考慮的問題。一個(gè)更好的方式是在前端使用日期時(shí)間選擇器 DateTimePicker,以日歷的形式統(tǒng)一選擇輸入時(shí)間,如下圖所示。小編今天將嘗試以最少的代碼教你實(shí)現(xiàn)如何在 Django 項(xiàng)目中實(shí)現(xiàn)日期時(shí)間選擇器 DateTimePicker。

Django 如何使用日期時(shí)間選擇器規(guī)范用戶的時(shí)間輸入示例代碼詳解

示范模型

假如我們有如下一個(gè) Article 模型,含有 pub_date 字段,其格式是 DateTimeField。

#models.py

class Article(models.Model): '''文章模型''' title = models.CharField(’標(biāo)題’, max_length=200, db_index=True) pub_date = models.DateTimeField(’發(fā)布時(shí)間’, null=True)

表單

#forms.py

#forms.pyclass ArticleForm(forms.ModelForm): class Meta: model = Article exclude = ()

視圖和 URLConf

#views.py

class ArticleCreateView(CreateView): model = Article form_class = ArticleForm template_name = ’blog/article_form.html’

#urls.py

re_path(r’^article/create/$’, views.ArticleCreateView.as_view(), name=’article_create’),

模板

#template/blog/article_form.html

{% block content %} <form action='' method='post' enctype='multipart/form-data'> {{ form.as_p }} {% csrf_token %} <p><input type='submit' value='Save content'></p> </form> </p>{% endblock %}

此時(shí)當(dāng)你創(chuàng)建文章時(shí),你將看到 pub_date 發(fā)布日期仍然是文本輸入格式,如下圖所示:

Django 如何使用日期時(shí)間選擇器規(guī)范用戶的時(shí)間輸入示例代碼詳解

接下來就是見證奇跡的時(shí)刻了。你在模板中稍微增加幾行 js 的代碼,如下所示:

<form action='' method='post' enctype='multipart/form-data'> {{ form.as_p }} {% csrf_token %} <p><input type='submit' value='Save content'></p> </form> </p>{% endblock %}{% block js %}<!-- XDSoft DateTimePicker --><link rel='stylesheet' integrity='sha256-DOS9W6NR+NFe1fUhEE0PGKY/fubbUCnOfTje2JMDw3Y=' crossorigin='anonymous' /> <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.full.min.js' integrity='sha256-FEqEelWI3WouFOo2VWP/uJfs1y8KJ++FLh2Lbqc8SJk=' crossorigin='anonymous'></script> <script>$(function () { $('#id_pub_date').datetimepicker( { format:’Y-m-d H:i’, }); }); </script>{% endblock %}

此時(shí)你把鼠標(biāo)移動(dòng)到日期輸入欄,美觀的日期和時(shí)間選擇器就出現(xiàn)了,如下圖所示:

Django 如何使用日期時(shí)間選擇器規(guī)范用戶的時(shí)間輸入示例代碼詳解

工作原理

這幾行 Js 的代碼作用是引入 XDSoft DateTimePicker 的 js 代碼和 css 樣式,針對(duì) id_pub_date 的表單字段生成一個(gè) datetimepicker 的實(shí)例,并設(shè)置輸入日期和時(shí)間格式。如果你在模型中 DateTimeField 的字段名為 visit_date, 你只需為 id_visit_date 再生成一個(gè)實(shí)例即可。Django 的表單會(huì)默認(rèn)為每個(gè)輸入字段 id 加上 id_的前綴。

前端基于 JS 的日期和時(shí)間選擇器很多,比如 BootstrapDateTimePicker,F(xiàn)engyuanzhen’s DateTimePicker, 但 Django 中最簡易方便使用的還是 XDSoft DateTimePicker, 強(qiáng)烈推薦。

總結(jié)

到此這篇關(guān)于Django 如何使用日期時(shí)間選擇器規(guī)范用戶的時(shí)間輸入的文章就介紹到這了,更多相關(guān) Django 如何使用日期時(shí)間選擇器規(guī)范用戶的時(shí)間輸入內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Django
相關(guān)文章:
主站蜘蛛池模板: 亚洲欧美在线免费 | 久久久久久久 | 黄色一级毛片 | 99热这里有精品 | 性高湖久久久久久久久 | 成人激情视频在线观看 | 激情欧美一区二区三区中文字幕 | 亚洲综合大片69999 | 成人国产精品视频 | av中文字幕在线播放 | 成年人网站在线免费观看 | 国产精品美女久久久久久免费 | 在线观看黄色大片 | 国产精品久久九九 | 日本五月婷婷 | 禁果av一区二区三区 | 中文字幕一区二区三区四区不卡 | 国产精品亚洲一区二区三区在线 | 精品一区免费观看 | 91久久精品日日躁夜夜躁欧美 | 精品美女在线观看视频在线观看 | 成人三级视频网站 | 免费黄色欧美 | 久久免费精品视频 | 中文字幕在线观看免费视频 | 久久九九这里只有精品 | 日韩有码在线观看 | 91精品国产日韩91久久久久久 | av在线免费观看一区二区 | 亚洲黄色av网站 | 国产精品亚洲成人 | 国产成人小视频 | 国产精品久久久久久久久免费桃花 | 日韩精品一区在线视频 | av午夜| 国产伦精品一区二区三区在线 | 亚洲一级毛片 | 成人在线视频免费观看 | 成人福利在线观看 | 一区二区三区在线看 | 国产高清在线精品 |