Django建站筆記(一)——基本配置

Django: The web framework for perfectionists with deadlines.

django是python最流行的框架之一,特點是大而全,自帶模板系統(tǒng)、優(yōu)秀的ORM框架,還有完善的后臺管理系統(tǒng)。

這次建站為了使用xadmin,考慮到其兼容性,故選擇了python2.7.13,Django1.9.13(這個版本在今年上半年已經(jīng)不再支持了,建議大家使用1.11LTS)

xadmin是國人開發(fā)的基于django的后臺管理系統(tǒng),用到了bootstrap,還有許多自帶的插件(然而我沒怎么研究),雖然不知道比官方的強(qiáng)在哪里,不過挺好用的就是了


Django settings.py配置

settings.py是django項目的配置文件,很多重要的參數(shù)都要在這里設(shè)置

DEBUG

在開發(fā)環(huán)境中,DEBUG應(yīng)設(shè)置為TRUE,在404、500等頁面會有詳細(xì)的錯誤提示,同時會自動啟動用于處理靜態(tài)文件的中間件

ALLOWED_HOSTS

ALLOWED_HOSTS設(shè)置允許訪問的ip,DEBUG = TRUE時不用管它,DEBUG = FALSE時必須配置,通常配置為'*'即可

INSTALLED_APPS & 根路徑設(shè)置

INSTALLED_APPS是一個列表,收錄所以需要加載的應(yīng)用。在django項目中,我們自己創(chuàng)建的每個app自然都要加進(jìn)去。

通常,我們自建的app都放在根目錄下,當(dāng)項目很龐大時,app的數(shù)量就會很多。這是我們可以新建一個apps的package,將app們放進(jìn)去,以便于目錄結(jié)構(gòu)的整潔。

但這時有必要設(shè)置根路徑了,下面這行代碼就起了這樣的作用

sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

AUTH_USER_MODEL & AUTHENTICATION_BACKENDS

django自帶有認(rèn)證系統(tǒng),但默認(rèn)的user表有時并不能滿足我們的需求。登陸方法也是,默認(rèn)的登陸后臺只能通過用戶名進(jìn)行登陸。這是我們就會用到這兩個參數(shù)了。

AUTH_USER_MODEL = "users.UserProfile"
AUTHENTICATION_BACKENDS = (
    'users.views.CustomBackend',
)

TEMPLATES & DATABASES

django有自己默認(rèn)的模板引擎,但也可以換成其他的,完全根據(jù)個人喜好。

django中默認(rèn)的數(shù)據(jù)庫是sqlite3,同樣可以選用其他數(shù)據(jù)庫,也可以啟用多個數(shù)據(jù)庫。比如session的存儲就能用到redis或mongodb。

本地化設(shè)置

通常設(shè)置成這樣即可:

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True

USE_TZ = False

靜態(tài)、媒體文件配置

STATIC_URL = '/static/'

# STATICFILES_DIRS = (
#     os.path.join(BASE_DIR, "static"),
# )

STATIC_ROOT = os.path.join(BASE_DIR, "static")

MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

這些變量中,兩個URL是用于模板使用的,這里注意要和ROOT寫成“一樣的”

在DEBUG = True時,指定STATICFILES_DIRS即可配置靜態(tài)文件;而在DEBUG = False時,需要這樣配置urls.py文件:

from django.views.static import serve


urlpatterns = [
    url(r'^media/(?P<path>.*)$', serve, {"document_root": MEDIA_ROOT}),
]

當(dāng)然,DEBUG = False即意味著生產(chǎn)環(huán)境,沒人會這樣配置的==

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容