Django 入門教程筆記(一)

安裝Django

pip install django==1.9.5
pip install pymysql==0.7.2

命令行工具

where django-admin.py
django-admin // 可輸入命令查看有什么命令參數(shù)
django-admin help startproject // 查看具體命令的作用
django-admin.py startproject hello_django // 創(chuàng)建項目
django-admin.py startapp hello // 創(chuàng)建 app
manage.py runserver [8080] // 運行服務(wù)
manage.py makemigrations  // 同步數(shù)據(jù)庫遷移文件
manage.py migrate // 同步數(shù)據(jù)庫
manage.py createsuperuser // 創(chuàng)建超級管理員
manage.py changepassword admin // 改密碼

快速創(chuàng)建一個網(wǎng)頁

  • manage.py startapp apphello
  • settings.py 加入 app
  • 在 views.py 中定義函數(shù)
  • urls.py
  • template
  • static 和 templates 放在根目錄下
我的筆記:
根目錄下創(chuàng)建 static 和 templates 目錄之后
只需一行改變:settings.py -> templates 
'DIRS': ['templates'],
  • 代碼
# views.py
from django.contrib.auth.models import User
def hello(request):
    users = User.objects.all()
    return render(request, 'apphello.html', locals())
# apphello.html
{% load static %}
{% static 'semantic/dist/semantic.css' %}
# settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]

mtv 模式

  • url 分組
url(r'^', include('apphello.urls')),

urls 詳解

# {'foo': 'bar'}
url(r'^blog/(?P<year>[0-9]{4})/$', views.year_archive, {'foo': 'bar'}),
  • 正在表達式在 url 中的作用
# urls.py
url(r'^test/(?P<id>\d{2})/$',views.test)
# views.py
def test(request,id): // 必須有 id 參數(shù)
    pass

views.py 詳解

  • request 是 django.http.HttpRequest 的實例
# 屬性
from django.http import HttpRequest, HttpResponse
request.path
request.method
# request.GET 是 QueryDict 對象
request.GET.get('name') 
{% csrf_token %}
request.POST.get('name')
request.user
request.session
request.get_full_path()
  • 每個 view 必須返回一個 HttpResponse 對象,且該對象系統(tǒng)不會創(chuàng)建
response = HttpResponse('這里是內(nèi)容')
return response
render(request,'temp.html',locals())
render_to_response('temp.html',locals())
redirect(to, permanent=False, *args, **kwargs)
redirect('/some/url/') or redirect('https://example.com/')

數(shù)據(jù)庫配置

  • 安裝純 Python 驅(qū)動:在 Pycharm 中搜索 PyMySQL
  • 添加代碼:
# 工程目錄的 __init__.py
import pymysql
pymysql.install_as_MySQLdb()

ORM 機制

  • 查看 SQL 語句 : 通過 query 屬性
user_list = User.objects.all()
print(user_list.query)

模型類

  • 模型間關(guān)系
# AuthoeDetail
author = models.OneToOneField(Author)  // 一對一
# Book
authors = models.ManyToManyField(Author) // 多對多
publisher = models.ForeignKey(Publisher) // 一對多
  • 字段類型
...
models.CharField
models.EmailField
models.URLField
models.BooleanField
models.DateField
models.DateTimeField
models.DecimalField
models.FileField
models.ImageField
mdoels.TextField
...
  • 字段選項
max_length, null, blank, choices, default, unique
verbose_name // 后臺顯示名稱艺谆,可以作為第一個參數(shù)计济,省去書寫參數(shù)名(verbose_name)
  • 后臺相關(guān)
# 注冊
admin.site.register(Author)
# 模型名稱顯示,通過子類 Meta
class Meta:
    verbose_name: '作者'
    verbose_name _plural = verbose_name // 復(fù)數(shù)形式
    ordering = ['-pub_date'] // 默認排序
# 顯示實例名稱,通過模型方法
def __str__(self):
    return self.name
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末窗悯,一起剝皮案震驚了整個濱河市瓶逃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌丽已,老刑警劉巖蚌堵,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異沛婴,居然都是意外死亡辰斋,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門瘸味,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宫仗,“玉大人,你說我怎么就攤上這事旁仿∨悍颍” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵枯冈,是天一觀的道長毅贮。 經(jīng)常有香客問我,道長尘奏,這世上最難降的妖魔是什么滩褥? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮炫加,結(jié)果婚禮上瑰煎,老公的妹妹穿的比我還像新娘铺然。我一直安慰自己,他們只是感情好酒甸,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布魄健。 她就那樣靜靜地躺著,像睡著了一般插勤。 火紅的嫁衣襯著肌膚如雪沽瘦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天农尖,我揣著相機與錄音析恋,去河邊找鬼。 笑死盛卡,一個胖子當(dāng)著我的面吹牛绿满,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窟扑,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼喇颁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了嚎货?” 一聲冷哼從身側(cè)響起橘霎,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎殖属,沒想到半個月后姐叁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡洗显,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年外潜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挠唆。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡处窥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出玄组,到底是詐尸還是另有隱情滔驾,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布俄讹,位于F島的核電站哆致,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏患膛。R本人自食惡果不足惜摊阀,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧胞此,春花似錦臣咖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哲泊。三九已至开仰,卻和暖如春殷费,著一層夾襖步出監(jiān)牢的瞬間幻妓,已是汗流浹背埠啃。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工坐求, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留讼载,地道東北人趴荸。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓儒溉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親发钝。 傳聞我的和親對象是個殘疾皇子顿涣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容