【記錄】Django學習42

1、最後的最後,給Django項目加日誌。

Django已經有解決方案,參考:日誌 - Django 中文文檔 1.8 - 極客學院Wiki

有一段翻譯不太好,看原文吧Logging | Django documentation | Django原文

個人認為需要記錄的重點是信息:

  1. 網站的每一次訪問
  2. 新用戶創建
  3. 所有POST操作

現在先大致記一個infos.log和errors.log,使用的是默認的logger和handler,另外自定義了一個寫入到文件的handler。

2、然後把Django的debug關掉(DEBUG=False)

這時候通過nginx訪問網頁顯示殘缺,所有的靜態文件都沒法顯示!

但直接訪問Django的埠,不通過代理就是正常的。

可見是nginx代理沒有拿到這些靜態文件。

是nginx沒有靜態文件的許可權嗎?這些文件本身的許可權很友好呀~

[真正原因]

原來Django的Debug和非Debug模式還很有點區別。

比如對於靜態文件,調試時靜態文件的路徑是按照settings裡面的STATIC_URL;而到了生產環境,被nginx代理,靜態文件路徑也由nginx說了算。

[解決]

vi /etc/nginx/sites-available/default

加上這2個配置,指定static和media的文件夾。

location /static {
alias /home/grace/web_dev/mysite/static;
}

location /media {
alias /home/grace/web_dev/mysite/media;
}

Django 靜態文件配置 (Nginx)?

www.cnblogs.com

解決nginx+uwsgi部署Django的所有問題(小結)_nginx_腳本之家

3、沒什麼問題真的準備上線了,我要瘋了。。

上線和開發分開,用另一個賬號,另一個環境。先提交到倉庫master分支,然後從master分支拉下來,以後的開發另外在dev分支進行。

新建賬號之後,還得ssh-keygen,然後公鑰添加到github,github才允許你copy。

之後需要使用虛擬環境,不用自己安裝一個,用別人的就可以,需要再.bashrc中添加PATH。

現在終於可以用了。

不過已經暴露出一些問題:

1)關閉調試模式後,對未登錄的跳轉報錯了。

2)還有一些個人審美問題,圖片和內容還要完善。

先偷偷地上線~

lovelyhouse.top/home/

竟然有了一個star?O(∩_∩)O~


推薦閱讀:

TAG:Django(框架) |