[Python] Django: 怎麼將 model 的物件轉換成 dict?

有時候需要在 form 裡面設定初值,這個時候如果可以方便的把 model 轉成 dict,直接丟給 initial 引數就好了。
轉換的方式可以自己寫個小程式轉換,或直接使用 django 提供的 model_to_dict 函式來轉。

資料來源:

Posted in Python, 程式設計 | Tagged , | Leave a comment

[jQuery] 怎麼在 submit 按下去的時候,出現一個 confirmation dialog?

要在 submit 按鈕被按下時,出現一個確認視窗,可以使用 jQuery UI。

HTML 部分程式:

如果上面的資料會被看到,嘗試做如下設定:

jQuery 部分程式:

參考資料:

Posted in Javascript, jQuery, 程式設計 | Tagged , | Leave a comment

[Python] Django: 如何在 template 中知道使用者是否屬於特定群組?

如果要在 template 判斷使用者的群組,可以使用自訂義的 filter。
自訂義 filter 的方式,可以參考官網說明:Custom template tags and filters

基本上,你需要在 App 中,新增一個 templatetags 目錄,然後將 filter 的程式碼,放在 templatetags 目錄下。
目錄中還需有 __init__.py 以確認 templatetags 是一個 package。
自訂義的 filter 必須放在 templatetags 目錄下的模組檔案中。

程式碼:

如何在 tempalte 中使用?
在 template 中,需先載入 filter:

myfilters 為自訂義 filter 所在的模組檔案名稱 myfilters.py。

然後,filter在 template 中的實際使用方式如下:

資料來源:

Posted in Python, 程式設計 | Tagged , | Leave a comment

[Python] Django: 如何在程式中知道使用者是否屬於特定群組?

資料來源:

Posted in Python, 程式設計 | Tagged , | Leave a comment

[Python] Django: 怎麼判斷物件存不存在?

資料來源:

Posted in Python, 程式設計 | Tagged , | Leave a comment

[Python] Django: 怎麼取得登錄使用者的使用者名稱?

參考下面範例:

資料來源:

Posted in Python, 程式設計 | Tagged , | Leave a comment

[Python] Django: 設定日期的格式

在 django 的 template 中要輸出日期時,django 會使用一個預設的格式來顯示日期,如果這個預設的格式不是你想要的,你要怎麼修改?

1.使用date filter

日期格式參考這裡

2.在 settings.py 中設定 DATE_FORMAT

資料來源:

Posted in Python, 程式設計 | Tagged , | Leave a comment

[Python] 將 datetime 轉換成字串

參考下面程式碼:

資料來源:

Posted in Python, 程式設計 | Tagged , | Leave a comment

[Python] Django: 怎麼設定 Form Field 的 DOM 的 id?

有時候我們會需要設定 form 裡面的 field 的 DOM id 方便使用 jQuery 來做一些特效或變更。

資料來源:

Posted in Python, 程式設計 | Tagged , | Leave a comment

[Python] Django: 使用 django-crispy-forms

Django 的 Form Model 有些陽春,還好有 django-crispy-forms 可以自動美化表單的生成。

使用的方式如下:

1.安裝 django-crispy-forms:

2.在設定檔 (settings.py) 中加入:

並設定要使用的 template pack (一樣是在 settings.py 中):

3.在 HTML 的 tempalte 中加入:

在 template 中生成表單的地方,可以使用兩種方法來生成表單:
第一個是使用 crispy filter:

第二個是使用 {% crispy %} tag with forms

其中 form 為你的 form model 的名稱。
需要注意的是,使用 {% crispy %} 時,submit button 的定義需要寫在 form 裡面,自己定義在 {% crispy %} 外面的 submit button 會沒辦法 submit crispy form。請參考最下面的連結!

參考資料:

Posted in Python, 程式設計 | Tagged , | Leave a comment