快速上手Django操作
本文需要在已有摸索過Django的基礎(chǔ)上,作為一個(gè)比較好的思路總結(jié)
參考網(wǎng)站
推薦教程:知乎一只圖雀
一杯茶的時(shí)間,上手 Django 框架開發(fā)
https://zhuanlan.zhihu.com/p/98788776
全?!笆场贝河?Django + Nuxt 實(shí)現(xiàn)美食分享網(wǎng)站(上)https://zhuanlan.zhihu.com/p/106667729
全?!笆场贝篋jango + Nuxt 實(shí)現(xiàn)美食分享網(wǎng)站(下)
https://zhuanlan.zhihu.com/p/107346041
操作
已有python環(huán)境
安裝django:pip install django
新建django項(xiàng)目:django-admin startproject HelloWorld
運(yùn)行服務(wù)器: python manage.py runserver
通過流浪器訪問:127.0.0.1:8000
?
新建一個(gè)app:python manage.py startapp news
將app加入到HelloWorld的settings中,在INSTALLED_APPS 中
?
[另:修改語言]
全局配置settings.py中修改中文LANGUAGE_CODE = 'zh-hans'
?
實(shí)現(xiàn)一個(gè)django應(yīng)用的大致流程:
1、定義一個(gè)新的數(shù)據(jù)模型
在app:news中的models定義一個(gè)新類,類中注明類型:
title =models.CharField(max_length=200)
用makemigrations命令創(chuàng)建遷移文件:python manage.py makemigrations
進(jìn)行數(shù)據(jù)庫遷移:python manage.py migrate
?
創(chuàng)建用于登錄后臺(tái)管理的超級(jí)用戶:python manage.py createsuperuser
2、實(shí)現(xiàn)后臺(tái)管理接口,在app:news中的admin.py中加入注冊(cè)
from .models import XXX
admin.site.register(XXX)
?
3、定義序列化器:僅當(dāng)實(shí)現(xiàn)REST API時(shí)需要
4、定義視圖,實(shí)現(xiàn)具體業(yè)務(wù)邏輯
[另:視圖模板顯示]
{{}}表示表達(dá)式
也有條件語句,循環(huán)語句
5、定義路由
在app:news中有視圖views.py,路由urls.py
在app中編寫的散裝路由可以通過include到HelloWorld的urls.py全局路由。
?
靜態(tài)文件配置
全局配置settings.py中加入media路徑與路由
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
在全局的urls.py中的urlpatterns后加入
from django.conf import settings
from django.conf.urls.static import static
[] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)