欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年05月22日 08:45:20   作者:young  
這篇文章主要介紹了 Django 如何使用日期時間選擇器規(guī)范用戶的時間輸入,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

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

示范模型

假如我們有如下一個 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ā)布時間', null=True)

表單

#forms.py

#forms.py
class 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 %}

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

接下來就是見證奇跡的時刻了。你在模板中稍微增加幾行 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 %}

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

工作原理

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

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

總結(jié)

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

相關(guān)文章

  • 使用python實(shí)現(xiàn)自動化控制電腦版微信

    使用python實(shí)現(xiàn)自動化控制電腦版微信

    這篇文章主要為大家詳細(xì)介紹了如何通過Python去調(diào)用Windows API實(shí)現(xiàn)模擬人工操作的方式去實(shí)現(xiàn)控制微信電腦版,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • 解決python3報(bào)錯之takes?1?positional?argument?but?2?were?given問題

    解決python3報(bào)錯之takes?1?positional?argument?but?2?were?gi

    這篇文章主要介紹了解決python3報(bào)錯之takes?1?positional?argument?but?2?were?given問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • pandas數(shù)據(jù)選?。篸f[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]

    pandas數(shù)據(jù)選?。篸f[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]

    這篇文章主要介紹了pandas數(shù)據(jù)選?。篸f[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[],文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Python輸出9*9乘法表的方法

    Python輸出9*9乘法表的方法

    這篇文章主要介紹了Python輸出9*9乘法表的方法,提供了兩種常用方法供大家參考借鑒,需要的朋友可以參考下
    2015-05-05
  • python接口自動化之正則用例參數(shù)化的示例詳解

    python接口自動化之正則用例參數(shù)化的示例詳解

    這篇文章主要介紹了python接口自動化之正則用例參數(shù)化,它是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Python collections模塊的使用技巧

    Python collections模塊的使用技巧

    Python的最大優(yōu)勢之一是其廣泛的模塊和軟件包。這將Python的功能擴(kuò)展到許多受歡迎的領(lǐng)域,包括機(jī)器學(xué)習(xí)、數(shù)據(jù)科學(xué)和Web開發(fā)等, 其中最好的模塊之一是Python的內(nèi)置collections 模塊。
    2021-04-04
  • 利用python和ffmpeg 批量將其他圖片轉(zhuǎn)換為.yuv格式的方法

    利用python和ffmpeg 批量將其他圖片轉(zhuǎn)換為.yuv格式的方法

    今天小編就為大家分享一篇利用python和ffmpeg 批量將其他圖片轉(zhuǎn)換為.yuv格式的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python使用擴(kuò)展庫pywin32實(shí)現(xiàn)批量文檔打印實(shí)例

    Python使用擴(kuò)展庫pywin32實(shí)現(xiàn)批量文檔打印實(shí)例

    這篇文章主要介紹了Python使用擴(kuò)展庫pywin32實(shí)現(xiàn)批量文檔打印實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 詳解Python中DOM方法的動態(tài)性

    詳解Python中DOM方法的動態(tài)性

    這篇文章主要介紹了詳解Python中DOM方法的動態(tài)性,xml.dom模塊在Python的網(wǎng)絡(luò)編程中相當(dāng)有用,本文來自于IBM官網(wǎng)的開發(fā)者技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • Python實(shí)現(xiàn)微信小程序支付功能

    Python實(shí)現(xiàn)微信小程序支付功能

    這篇文章主要介紹了Python實(shí)現(xiàn)微信小程序支付功能 ,本文通過實(shí)例代碼,流程圖給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評論