在 formData 表單送出 PUT、PATCH 或 DELETE 方法

HTML 表單再送請求的時候,是沒有支援 PUTPATCH 或 DELETE 這三種 method 的。所以在定義由 HTML 表單所呼叫的 PUTPATCH 或 DELETE 路由時,會需要在表單中增加一個隱藏的欄位: _method 

閱讀全文 在 formData 表單送出 PUT、PATCH 或 DELETE 方法

產生任何 Mock HTTP 回應的好工具 – Mocky.io

最近後端同事需要一個前端介面去偵錯,所以協助他開發前端,中間溝通的 JSON 都定義好了,但是後端遲遲還在開發的狀態。

所以找到一個好用的線上工具叫做 #Mocky,可以產生 Mock (假的/模擬的) HTTP 回應,支援很多種 MIME Type 與自訂 Headers 回應標頭,可以讓前端程式進行任何類型的測試,也有一些好用的功能,比如說可以測試 HTTP 回應慢的時候的如何進行非同步多工處理,我覺得非常實用,所以紀錄一下!

Mocky.io

Jsonp Support

可以增加 ?callback=myfunction 在 mocky URL 後面,去啟用 jsonp

Response delay

可以增加 ?mocky-delay=100ms 在 mocky URL 後面,去延遲反應時間

Cors policy

遇到 Cors policy 的問題的話,在 mocky URL 前面增加 https://cors.io/? ,可以略過這問題

Django admin CSS 遺失的問題

Django 嘗試使用 Nginx + uwsgi 去部署後,出現 admin 的 CSS, Javascript……等,都噴 404

分析

在我的 Django 專案中,setting.py中配置是這樣

STATIC_URL ='/static/'
STATICFILES_DIRS =(
    os.path.join(BASE_DIR,“static”),
)

 

解決方案決之路

在 setting.py 中新增配置 STATIC_ROOT ,然後執行 python manage.py collectstatic

此時關於 static 的配置如下

STATIC_ROOT ='/opt/nginx/static/'
STATIC_URL ='/static/'
STATICFILES_DIRS =(
    os.path.join(BASE_DIR,“static”),
)

 

可以看出 python manage.py collectstatic 會收集 Django 中所有的靜態資源,並且放到 STATIC_ROOT 管理訪問

此時,修改 Nginx 中關於 Django 項目的 static 配置為:

location /static {
    # alias /project/django/simpleblog/static;
    alias /opt/nginx/static;
}

最後 admin 就可以正常用 css 了!

Django 將所有的 app 放到統一的目錄下進行管理

Django 的 project 寫久了,app 會越來越多,然後就零散在整個專案下,很雜亂,所以研究了一下,能不能將 app 集中放在同個資料夾下面做管理

看了一下網路上的文章後,方法很簡單

首先在專案資料夾底下新建一個資料夾 apps

接著,將設計的好的 app,拖放到 apps 中

記得最後要修改 settings.py 運行時的的搜尋路徑

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 在這行底下添加
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

另外,不要忘記 import sys

最後,啟動伺服器 runserver,測試看看有沒有設置成功