開篇
學(xué)Python也有一段時(shí)間了,總想做點(diǎn)東西俭识,是時(shí)候慢慢的做點(diǎn)東西了,看了許多資料和博客洞渔,也決定自己慢慢的親手搞一個(gè)套媚,之前學(xué)的時(shí)候總覺得先記下來有空一起總結(jié),發(fā)現(xiàn)效果并不好磁椒,今天索性新建一個(gè)項(xiàng)目堤瘤,從頭開始邊做邊對(duì)最近的學(xué)習(xí)總結(jié)一下吧。
準(zhǔn)備
python版本:3.5.2
編輯器:PyCharm
Django版本:1.8.2
PyCharm的獲取和配置如果有需要可以看我的上一篇文章:
Python PyCharm編輯器配置和使用
創(chuàng)建工程和APP
打開PyCharm創(chuàng)建一個(gè)項(xiàng)目如下圖
創(chuàng)建之后的目錄結(jié)構(gòu)如下
Blog 項(xiàng)目的容器
wsgi.py
python服務(wù)器網(wǎng)關(guān)借口 python應(yīng)用與web服務(wù)器之間的接口
urls.py
url配置文件 django項(xiàng)目中都需要我們自己去配置他們的地址來鏈接
setting.py
項(xiàng)目的總配置文件 包含了 數(shù)據(jù)庫 web 以及其他的一些配置
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
項(xiàng)目的根目錄
SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$95jg0m@'
創(chuàng)建項(xiàng)目生成的安全碼
DEBUG = True
用于調(diào)試 但是在實(shí)際項(xiàng)目中 不要打開
ALLOWED_HOSTS = [] 只允許 在這里添加的 網(wǎng)址 去訪問頁面
TEMPLATES模板的配置
STATIC_URL = '/static/' 靜態(tài)文件地址
DATABASES 設(shè)置數(shù)據(jù)
創(chuàng)建應(yīng)用 article 加入到 setting.py INSTALLED_APPS中
創(chuàng)建新的APP
在我們輸入執(zhí)行
python manage.py startapp article
命令之后衷快,可以看到PyCharm目錄中增加了相關(guān)文件如下圖
上圖中
article文件下 文件介紹
migrations 數(shù)據(jù)移植模塊 內(nèi)容自動(dòng)生成
admin.py 該應(yīng)用的后臺(tái)配置文件
apps.py 應(yīng)用的一些配置 django 1.9以后自動(dòng)生成的
models.py 數(shù)據(jù)模塊 使用ORM框架 類似于mvc的 model模塊
tests.py 自動(dòng)化測(cè)試模塊
view.py 執(zhí)行響應(yīng)的邏輯代碼模塊 項(xiàng)目中主要的代碼編輯區(qū)
現(xiàn)在我們需要在setting.py中添加新建APP宙橱,然后運(yùn)行項(xiàng)目如下圖
python manage.py runserver #啟動(dòng)Django中的開發(fā)服務(wù)器
另外我們也可以自己設(shè)置端口號(hào)
runserver 8002 # 后面加端口號(hào)用以改變端口
# 當(dāng)提示端口被占用的時(shí)候,可以用其它端口:
python manage.py runserver 8001
python manage.py runserver 9999
把左側(cè)命令行中的網(wǎng)址放到瀏覽器中看到他已經(jīng)運(yùn)行了
其實(shí)我們創(chuàng)建項(xiàng)目與APP的命令都可以在命令行中
django-admin.py startprojec tXXXX #創(chuàng)建項(xiàng)目
python manage.py startapp XXXX #創(chuàng)建app
python manage.py runserver #啟動(dòng)Django中的開發(fā)服務(wù)器
我們依據(jù)工程中的 manage.py來創(chuàng)建APP等一系列的操作,那么我看一下 manage.py還有那些其他作用
在終端中輸入可以看到他的其他命令
python manage.py
創(chuàng)建數(shù)據(jù)庫
在models.py中設(shè)置相應(yīng)的數(shù)據(jù)庫字段
python manage.py makemigrations
python manage.py migrate #命令行運(yùn)行該命令
運(yùn)行結(jié)果如下:
然后我們打開數(shù)據(jù)庫师郑,可以看到我們新增加的Article表已經(jīng)存在如下圖
在軟件中我們可以對(duì)數(shù)據(jù)庫進(jìn)行一系列的操作环葵,下面我們加一些數(shù)據(jù),然后到后臺(tái)去查看他們
隨便增加一些數(shù)據(jù)
網(wǎng)站的后臺(tái)
作為一個(gè)網(wǎng)站我們需要登錄后就可以從后臺(tái)上傳我們想要的內(nèi)容宝冕,而不是每次操作數(shù)據(jù)庫张遭,Django具有很強(qiáng)大的后臺(tái),只需要簡(jiǎn)單的處理我們就可以使用它地梨,然后可以從后臺(tái)查看我們剛剛手動(dòng)加入到數(shù)據(jù)庫中的內(nèi)容
在創(chuàng)建項(xiàng)目的時(shí)候已經(jīng)默認(rèn)設(shè)置好了連接后臺(tái)的配置菊卷,但是我滿要把我們的數(shù)據(jù)庫與它關(guān)聯(lián)起來,不然雖然進(jìn)入后臺(tái)但是并不會(huì)顯示我們的數(shù)據(jù)
article/admin.py中設(shè)置如下
#導(dǎo)入models
from article.models import Article
# Register your models here.
admin.site.register(Article)
接下來我們只需要?jiǎng)?chuàng)建一個(gè)超級(jí)用戶并執(zhí)行打開后臺(tái)的命令就可以了
python manage.py createsuperuser
如下圖 輸入賬號(hào)宝剖,郵箱和密碼(用戶名 不能和郵箱一樣 密碼不要太簡(jiǎn)單 不允許)
然后運(yùn)行后臺(tái)服務(wù)器
python manage.py runserver
在地址欄輸入:http://127.0.0.1:8000/admin
進(jìn)入后臺(tái)可以看到我們創(chuàng)建的內(nèi)容
點(diǎn)入我們創(chuàng)建的Article可以看到我們之前手動(dòng)添加的文章信息
可以看到還是有許多bug的洁闰,不要急一步步來,首先后臺(tái)時(shí)英文的万细,這個(gè)節(jié)奏不對(duì)啊扑眉,先改成中文的嘿嘿。
setting.py中
LANGUAGE_CODE = 'en-us' 默認(rèn)英文
改為漢語 LANGUAGE_CODE = 'zh_Hans'
在新版本的django 之中 值保留了'zh_Hans' 和'zh_Hant'繁體字
然后刷新頁面可以看到改變后的頁面赖钞。
是不是順眼多了呢腰素,哈哈。
當(dāng)然如果我們想要美化后臺(tái)界面的話我們可以引入bootstrap使用框架來美化后臺(tái)的顯示效果雪营。
django-admin-bootstrap
利用pip安裝
pip install bootstrap-admin
然后在setting.py中修改INSTALLED_APPS中加入'bootstrap_admin'
然后運(yùn)行后臺(tái)服務(wù)器并刷新界面
呃呃弓千,貌似更丑了,第一遍先顯示出來吧献起,大體邏輯先搞完再說洋访,留個(gè)坑在這。
目前為止這里有幾個(gè)待優(yōu)化先說一下谴餐,先記錄一下捌显,一個(gè)是樣式的優(yōu)化,后臺(tái)上傳文章总寒,現(xiàn)在是文本形式的,我們可以通過第三方庫修改他的樣式改成類似于word或者markdown形式的理肺。
這里先優(yōu)化一下顯示后臺(tái)文章對(duì)應(yīng)的名字
在models.py中 如果是python3寫法如下
def __str__(self):
return self.title
修改后的顯示效果
后記
今天的內(nèi)容主要是創(chuàng)建項(xiàng)目和創(chuàng)建相關(guān)的數(shù)據(jù)庫摄闸,并修改其中的內(nèi)容,然后在后臺(tái)進(jìn)行數(shù)據(jù)顯示妹萨,并修改后臺(tái)顯示的效果年枕,下篇文章主要該寫一下前端頁面的顯示和交互邏輯了,然而還并不熟悉乎完,還有比較頭疼的html寫法熏兄,是時(shí)候出去找一波網(wǎng)上的寫好的前端模板了學(xué)習(xí)學(xué)習(xí)了,照著學(xué)習(xí)一遍對(duì)html學(xué)習(xí)也大有好處,哈哈摩桶,加油桥状!今天就到這吧,五一勞動(dòng)節(jié)硝清,結(jié)束辅斟,明天去公司要趕項(xiàng)目了。芦拿。士飒。