Django入門

學(xué)習(xí)django

django 項(xiàng)目目錄介紹
manage.py
與項(xiàng)目進(jìn)行命令交互的命令行工具集的入口
項(xiàng)目管理器

wsgi.py

WSGI (python web server gateway interface)
python 服務(wù)器與網(wǎng)關(guān)接口

url.py

url配置文件
diango 項(xiàng)目中所有地址(頁(yè)面)都需要我們自己去配置其URL

setting.py

開啟項(xiàng)目

兩種方法
1偎痛、通過PyCharm創(chuàng)建 直接run

2、命令行創(chuàng)建 django-admin.py startproject projectName
啟動(dòng) python manage.py runsever

創(chuàng)建應(yīng)用

python manage.py startapp blog

然后在setting.py 中的INSTALLED_APPS添加應(yīng)用名

       migrations 數(shù)據(jù)移植模塊
       admin.py   該應(yīng)用的后臺(tái)管理系統(tǒng)配置
       apps.py    該應(yīng)用的一些配置
       models.py  數(shù)據(jù)模塊 摄咆,使用ORM框架
       test.py    自動(dòng)化測(cè)試模塊
       view.py    執(zhí)行響應(yīng)的代碼所在模塊,代碼邏輯處理的主要地點(diǎn)

創(chuàng)建第一個(gè)頁(yè)面(響應(yīng))

編輯blog.views
    每個(gè)響應(yīng)對(duì)應(yīng)一個(gè)函數(shù)躬柬,函數(shù)必須返回一個(gè)響應(yīng)
    函數(shù)必須存在一個(gè)參數(shù), 一般約定為request
    每個(gè)響應(yīng)對(duì)應(yīng)一個(gè)URL
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.


def index(request):
    return HttpResponse("Hello World")

配置URL
編輯url.py
每一URL都已url的形式寫出來
url函數(shù)放在urlpatterns列表中
url函數(shù)三個(gè)參數(shù):URL(正則),對(duì)應(yīng)方法,名稱

    import blog.views as bv

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/', bv.index),

]

配置子URL 防止項(xiàng)目過大,url無法管理的問題

項(xiàng)目下的urls.py 增加代碼 url(r'^blog/', include('blog.urls'))

應(yīng)用下新建urls.py 文件,在urls.py中配置自己的url
例如:
urlpatterns = [
url(r'^index/$', views.index),
]

Templates

Html 文件
使用Django DTL語(yǔ)言
也可以使用第三方模板(如:Jinja2)

使用:
在App的根目錄下創(chuàng)建名叫Templates的目錄
在該目錄下創(chuàng)建HTML文件
在Views.py中返回render()

render 傳入三個(gè)參數(shù) request 听系、XXX.html、(字典)
html中用{{傳入的字典的key}}

如下所示

views.py

def index(request):

    return render(request, 'index.html', {'haha': '你是狗'})

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
你好<br/>
{{ haha }}
</body>
</html>

models
通常,一個(gè)Model對(duì)應(yīng)數(shù)據(jù)庫(kù)的一張數(shù)據(jù)表
Django中的Modles以類的形式表現(xiàn)
它包含一些基本字段以及數(shù)據(jù)的一些行為

創(chuàng)建數(shù)據(jù)表

class Article(models.Model):
    title = models.CharField(max_length=32, default='Title')
    content = models.TextField(null=True)

    def __str__(self):
        return self.title

生成數(shù)據(jù)表

命令行中進(jìn)入manage.py同級(jí)目錄
執(zhí)行 python manage.py makemigrations app名(可選)
在執(zhí)行 python manage.py migrate

查詢數(shù)據(jù)表生成sql語(yǔ)句

python manage.py sqlmigrate app名 0001

獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)
views.py 中import models

article = models.Article.object.get(pk=1)

HTML DTL語(yǔ)言

引用一般對(duì)象

{{ object }} ??????可以用 ?.?引用對(duì)象里面的屬性

for循環(huán)

{% for acticle in articles %}

{% endfor %}

Django中的超鏈接

超鏈接目標(biāo)地址
href后面是目標(biāo)地址
templates中可以用"{%url 'app_name:url_name' param%}"

<h1>
<a href="{% url 'blog:edit_page' 0%}">新文章</a>
</h1>

{% for article in articles %}

    <h1><a href="{% url 'blog:article_page' article.id %}">{{ article.title }}</a></h1>
    <h3>{{ article.content }}</h3>
    <br/>
{% endfor %}

表單提交Post方法

<html>
  <form action="{% url 'blog:edit_action' %}" method="POST">
    <input type="text" name="title"/>
    <input type="text" name="content"/>
    <input type="submit" value="提交">
  </form>
</html>

獲取請(qǐng)求參數(shù)

def edit_action(request):
    # 獲取提交的參數(shù),并在數(shù)據(jù)庫(kù)中添加數(shù)據(jù)
    title = request.POST.get('title', 'TITLE')  # title = request.POST['title']
    content = request.POST.get('content', 'CONTENT')  # request.POST['content']



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弥臼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子根灯,更是在濱河造成了極大的恐慌径缅,老刑警劉巖掺栅,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異纳猪,居然都是意外死亡氧卧,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門氏堤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沙绝,“玉大人,你說我怎么就攤上這事鼠锈∩撩剩” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵购笆,是天一觀的道長(zhǎng)粗悯。 經(jīng)常有香客問我,道長(zhǎng)由桌,這世上最難降的妖魔是什么为黎? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮行您,結(jié)果婚禮上铭乾,老公的妹妹穿的比我還像新娘。我一直安慰自己娃循,他們只是感情好炕檩,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捌斧,像睡著了一般笛质。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上捞蚂,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天妇押,我揣著相機(jī)與錄音,去河邊找鬼姓迅。 笑死敲霍,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的丁存。 我是一名探鬼主播肩杈,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼解寝!你這毒婦竟也來了扩然?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤聋伦,失蹤者是張志新(化名)和其女友劉穎夫偶,沒想到半個(gè)月后界睁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡索守,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年晕窑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卵佛。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡杨赤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出截汪,到底是詐尸還是另有隱情疾牲,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布衙解,位于F島的核電站阳柔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蚓峦。R本人自食惡果不足惜舌剂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望暑椰。 院中可真熱鬧霍转,春花似錦、人聲如沸一汽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)召夹。三九已至岩喷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間监憎,已是汗流浹背纱意。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鲸阔,地道東北人偷霉。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像隶债,于是被迫代替她去往敵國(guó)和親腾它。 傳聞我的和親對(duì)象是個(gè)殘疾皇子跑筝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

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