本地初始化之前先確保環境先安裝了python3.8、postgresql,並建立了乙個虛擬環境。
安裝依賴庫
基於cookiecutter-django建立的專案需要安裝一些第三方庫,本地的依賴列表在requirements/local.txt中,安裝命令如下:
$ pip install -r requirements/local.txt
建立資料庫
django預設是sqlite作為資料庫,但sqlite沒有許可權管理,不適合多使用者應用。本系列教程選擇postgresql作為資料庫。
從效能上比較mysql和postgresql相差無幾。但作為個人來說,postgresql可能是更好的選擇。postgresql有更好的sql支援和uicode支援,比如mysql裡需要設定為utf8mb4才能支援emoji,postgresql就沒這個坑。另外,還有nosql資料庫的特性,比如支援array和json格式,在某些場景下可以代替mongodb。這裡的建立資料庫是指使用
createdb
命令手動建立乙個資料庫,比如:
createdb one_crm -u postgres -w
這個命令會建立乙個名為one_crm的資料庫,並同-u
指定這個資料庫的擁有者為postgres賬戶,-w引數會提示輸入乙個秘密用於資料庫的連線。
初始化資料庫
這裡的django是從環境變數database_url中讀取資料庫配置的,在linux或mac系統中使用export命令,在windows系統中使用set命令,這裡以mac為例,命令如下:
export database_url=postgres:
設定完成後使用django命令對資料庫進行初始化,命令如下:
$ python manage.py migrate
資料庫初始化完成後就可以執行了,執行命令:
$ python manage.py runserver 0.0.0.0:8000
執行起來後訪問可以看到如下介面:
可以看到這個專案中已經實現了乙個簡單的首頁並支援註冊和登入功能,右側是django-debug-*******的工具條。其中註冊功能需要配置乙個郵件傳送伺服器用來發生註冊啟用郵件。
配置郵件功能
cookiecutter-django官方推薦mailhog作為本地伺服器,使用mailhog作為郵件伺服器需要在配置引導是將use_mailhog
的選項設定為y(預設是n)。如果沒有設定為y,也可手動在config/settings/local.py檔案中加入下面兩行即可:
email_host = "localhost"
email_port = 1025
mailgun啟動後可以通過訪問 檢視它的狀態。
初始化git
完成上面的步驟需要將整個專案**建立乙個**倉庫,用git進行管理。先使用git init
命令進行初始化。然後使用pre-commit install
命令初始化**檢測功能。pre-commit的配置在.pre-commit-config.yaml檔案中。
.pre-commit-config.yaml預設配置了以下功能:完成後使用check-yaml檢查yaml格式的檔案是否正確。
black自動格式化,
flake8檢測**不規範的地方,
當flake8找出不符合 pep8規範的**,並且能夠自動格式化,其流程如下:
git add .
將專案**加入到版本控制中,最後使用git commit -m "初始化"
命令提交到本地倉庫中。有興趣的同學也可以建立乙個遠端的github專案並將**同步到github中。 用python實現乙個簡單的cache系統
2013年01月02日 綜合 共 2016字 字型大小 小 中 大 原文檢視 本文章的 本篇文章將介紹python中的decorator,中文翻譯為 裝飾器 魔法。在這篇文章中我們將熟悉decorator使用的基本方式和基本使用例子,並利用decorator來實現乙個高階的例子 快取系統 cache...
用python實現乙個簡單的cache系統
原文檢視 本篇文章將介紹python中的decorator,中文翻譯為 裝飾器 魔法。在這篇文章中我們將熟悉decorator使用的基本方式和基本使用例子,並利用decorator來實現乙個高階的例子 快取系統 cache system decorator已某種方式可以簡化編碼量,並增加了 的可讀性...
用UCenter Home搭建乙個SNS系統
作為當代流行的網路社群,僅僅擁有論壇乙個應用未免略顯單調,縱使論壇上有多種外掛程式和附件功能,時間長久也容易使使用者產生疲勞感。因此,如何創新和抓住社群使用者的興趣點 增強使用者體驗 增加使用者黏度,已經成為社群站長們 更是社群軟體提供商們必須時時考慮的重要問題。根據對網路社群長期的開發經驗,通過對...