Django 一個(gè)小??

屏幕快照 2017-11-19 13.24.25.png

一:創(chuàng)建項(xiàng)目

在自己的pycharm中使用的是python3

  • 1 : creat project
  • 2: 選擇Django的項(xiàng)目
  • 3: 在最下面Application name 填寫(xiě)自己項(xiàng)目的名稱(chēng)
  • 4:Location 工程的地址

在models寫(xiě)好相關(guān)代碼,然后在setting文件中已經(jīng)在創(chuàng)建好項(xiàng)目的時(shí)候把APP的INSTALLED_APPS名稱(chēng)加入到里面

二: 執(zhí)行操作

  • 1 打開(kāi)Pycharm下面的的Terminal 輸入 python3 manage.py makemigrations
屏幕快照 2017-11-18 22.58.04.png
  • 2 更具上面生成的遷移對(duì)象,執(zhí)行下面的命令來(lái)生成seq語(yǔ)句
    python3 manage.py migrate
屏幕快照 2017-11-19 10.12.21.png
  • 3 增加數(shù)據(jù)和刪除數(shù)據(jù)可以在shell操作里進(jìn)行

三 創(chuàng)建超級(jí)管理員

python3 manage.py createsuperuser

屏幕快照 2017-11-19 10.56.13.png

1 啟動(dòng)服務(wù) 默認(rèn)是8000端口 如果被暫用 需要自己指定
python3 manage.py runserver

屏幕快照 2017-11-19 10.57.37.png

2 在瀏覽器中打開(kāi)下面的地址,把你剛才的賬戶(hù)密碼寫(xiě)進(jìn)去登錄
http://127.0.0.1:8000/admin

屏幕快照 2017-11-19 11.00.23.png

  • 3 這時(shí)候會(huì)看到上面的界面,都是英文的不好看 你可以修改setting文件來(lái)顯示中文
    LANGUAGE_CODE = zh-hans'

還可以對(duì)時(shí)區(qū)進(jìn)行修改


屏幕快照 2017-11-19 12.01.46.png
  • 5 如果想讓創(chuàng)建的BookInfo添加到頁(yè)面中,需要在admin.py中進(jìn)行注冊(cè)
    • 5.1 python2中
from django.contrib import admin
from models import *

from.site.register(BookInfo)
  • 5.2 python3中
from django.contrib import admin
from .models import *

from.site.register(BookInfo)

6 在有的Django版本中,在界面添加數(shù)據(jù)的時(shí)候,如果添加的有中文的情況下會(huì)出錯(cuò)
屏幕快照 2017-11-19 11.22.56.png

7 原因是由于我們的代碼在定義BookInfo中有對(duì)類(lèi)屬性的字符串輸出,那個(gè)地方?jīng)]有進(jìn)行格式編碼處理


屏幕快照 2017-11-19 11.24.52.png

如果你的沒(méi)有出現(xiàn)報(bào)錯(cuò),則上面的步驟不需要處理

四 自定義界面

1:在admin.py需要先注冊(cè)自定義的類(lèi)


image.png

五 關(guān)聯(lián)對(duì)象

6E3C213F-D8F4-4951-9341-7B34219331A2.png

5.1 在book中添加對(duì)象的時(shí)候會(huì)看到下面多出3個(gè)英雄的界面


屏幕快照 2017-11-19 13.35.15.png

TabularInline是表格形式

屏幕快照 2017-11-19 13.37.24.png

屏幕快照 2017-11-19 13.36.57.png

六 view的簡(jiǎn)單制定

  • 1 : 在view中先注冊(cè)pycharm提供的導(dǎo)入頭文件,自己先用自定義的方式來(lái)創(chuàng)建


    548595BA-D2A5-4453-8756-663162D46097.png
  • 2 : 在booktest目錄下創(chuàng)建自己的urls.py文件,定義自己app中的url


    6315BD76-2266-428B-98DE-B15AD1A969A4.png
  • 3 : 在項(xiàng)目中的urls.py中配置自己剛才app中定義的urls

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', include('booktest.urls'))
]

七 定義模板

  • 1 : 如果你是沒(méi)有直接用pycharm創(chuàng)建的項(xiàng)目,而是用的命令創(chuàng)建的項(xiàng)目,則項(xiàng)目目錄中沒(méi)有templates文件夾目錄,則需要在pycharm手動(dòng)創(chuàng)建
    • 1.1 注意 手動(dòng)創(chuàng)建此目錄,系統(tǒng)不會(huì)在setting文件中去注冊(cè),rutemplates,如果沒(méi)有請(qǐng)加上


      1481AA49-DF9B-40C1-9C1F-A44D7ED6123F.png
    • 1.2 然后在templates文件下創(chuàng)建文件夾(booktest),在booktest下創(chuàng)建index.html模板


      368DBAD9-321A-4C58-A426-3D9F9A59B192.png
    • 1.3 如果沒(méi)有按上面做會(huì)報(bào)錯(cuò)


      屏幕快照 2017-11-19 14.24.32.png
  • 2 :在view中導(dǎo)入自己定義的模板.


    3DCE20E1-A05C-4A3D-9905-C538DAA831F4.png
    • 2.1 不用上面的手動(dòng),用rendom函數(shù),結(jié)果是一樣的


      EA0FDDDE-816D-49A4-B40D-235813E36D2A.png
  • 3 把模型中的數(shù)據(jù)展示在view中

    3.1 在html中


    C51FA7ED-EB84-43C5-8434-C9799CAAD107.png

3.2 在views中


CD034F71-9780-4C73-81AB-0EE2E6DFCBA7.png

八 詳細(xì)展示

  • 1 : views.py中定義要展示的方法
def show(request, id):
    # 根據(jù)id獲取一本書(shū)
    bookinfo = BookInfo.objects.get(pk=id)

    # 從書(shū)對(duì)象中獲取對(duì)應(yīng)所有的英雄
    herolist = bookinfo.heroinfo_set.all()

    context = {"list": herolist}

    return render(request, 'booktest/show.html', context)
  • 2 在urls中定義要要show方法的規(guī)則
from django.conf.urls import url
from . import views

urlpatterns=[

    url(r'^$', views.index),
    url(r'(\d+)', views.show)  #匹配到數(shù)據(jù)將調(diào)用views中的show方法
]
  • 3 : 創(chuàng)建自己的show模板html(一定要注意格式,否則會(huì)報(bào)錯(cuò))
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<url>
{%for hero in list%}
<li>{{hero.hname}}</li>
{% endfor %}
</url>

</body>
</html>

九 最終效果

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

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

  • (一)、啟動(dòng)服務(wù)器 (二)、創(chuàng)建數(shù)據(jù)庫(kù)表 或 更改數(shù)據(jù)庫(kù)表或字段 Django 1.7.1及以上 用以下命令 1....
    夏天夏星閱讀 5,988評(píng)論 0 17
  • 本書(shū)介紹 你是不是對(duì)Django的學(xué)習(xí)感到迷茫?是不是對(duì)網(wǎng)上零星的教程感到絕望?是不是苦于沒(méi)有可以迅速上手的實(shí)例而...
    阡陌3536閱讀 1,418評(píng)論 0 0
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,694評(píng)論 19 139
  • 羊皮卷上所記載的一切自永遠(yuǎn)至永遠(yuǎn)不會(huì)重復(fù)出現(xiàn),因?yàn)樽⒍ń?jīng)受百年孤獨(dú)的家族不會(huì)有第二次機(jī)會(huì)在大地上出現(xiàn)。 一...
    LovingLiver閱讀 356評(píng)論 0 0
  • 殘?jiān)氯珑狅L(fēng)清婉 一川暮寞影憐亂 車(chē)水馬龍人行色匆匆 沿路的風(fēng)景暗自飄零 彼此經(jīng)過(guò) 即錯(cuò)過(guò) 默默祝福那些 離我而去的...
    越寒閱讀 334評(píng)論 6 11

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