成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Django-01、初識(shí)Django和搭建Django helloworld

aristark / 1058人閱讀

摘要:并于年月在許可證下發(fā)布??刂破魇菍⒛P秃鸵晥D隔離,并成為二者之間的聯(lián)系紐帶。該層處理與表現(xiàn)相關(guān)的決定如何在頁面或其他類型文檔中進(jìn)行顯示。會(huì)話用戶登錄與權(quán)限檢查,快速開發(fā)用戶會(huì)話功能。

1.介紹Django 1.1 Django的來源
Django是一個(gè)開放源代碼的Web應(yīng)用框架,由Python寫成。采用了MVC的框架模式,即模型M,視圖V和控制器C。它最初是被開發(fā)來用于管理勞倫斯出版集團(tuán)旗下的一些以新聞內(nèi)容為主的網(wǎng)站的,即是CMS(內(nèi)容管理系統(tǒng))軟件。并于2005年7月在BSD許可證下發(fā)布。這套框架是以比利時(shí)的吉普賽爵士吉他手Django Reinhardt來命名的。
1.2 Django 的特點(diǎn)

完全免費(fèi)并開源源代碼

快速高效開發(fā)

使用MTV模式(以MVC模式為原型)

強(qiáng)大的可擴(kuò)展性.

社區(qū)豐富

第三方框架豐富

1.3 Django 的架構(gòu)
MVC是眾所周知的模式,即:將應(yīng)用程序分解成三個(gè)組成部分:model(模型),view(視圖),和 controller(控制 器)。其中:

M——管理應(yīng)用程序的狀態(tài)(通常存儲(chǔ)到數(shù)據(jù)庫中),并約束改變狀態(tài)的行為(或者叫做“業(yè)務(wù)規(guī)則”)。

C——接受外部用戶的操作,根據(jù)操作訪問模型獲取數(shù)據(jù),并調(diào)用“視圖”顯示這些數(shù)據(jù)??刂破魇菍ⅰ澳P汀焙汀耙晥D”隔離,并成為二者之間的聯(lián)系紐帶。在django對(duì)應(yīng)view。

V——負(fù)責(zé)把數(shù)據(jù)格式化后呈現(xiàn)給用戶。

Django也是一個(gè)MVC框架。但是在Django中,控制器接受用戶輸入的部分由框架自行處理,所以 Django 里更關(guān)注的是模型(Model)、模板(Template)和視圖(Views),稱為 MTV模式:

M 代表模型(Model),即數(shù)據(jù)存取層。 該層處理與數(shù)據(jù)相關(guān)的所有事務(wù): 如何存取、如何驗(yàn)證有效性、包含哪些行為以及數(shù)據(jù)之間的關(guān)系等。

T 代表模板(Template),即表現(xiàn)層。 該層處理與表現(xiàn)相關(guān)的決定: 如何在頁面或其他類型文檔中進(jìn)行顯示。

V 代表視圖(View),即業(yè)務(wù)邏輯層。 該層包含存取模型及調(diào)取恰當(dāng)模板的相關(guān)邏輯。 你可以把它看作模型與模板之間的橋梁。

1.4 Django的設(shè)計(jì)
對(duì)象關(guān)系映射 (ORM,object-relational mapping):以Python類形式定義你的數(shù)據(jù)模型,ORM將模型與關(guān)系數(shù)據(jù)庫連接起來,你將得到一個(gè)非常容易使用的數(shù)據(jù)庫API,同時(shí)你也可以在Django中使用原始的SQL語句。
URL 分派:使用正則表達(dá)式匹配URL,你可以設(shè)計(jì)任意的URL,沒有框架的特定限定。像你喜歡的一樣靈活。
模版系統(tǒng):使用Django強(qiáng)大而可擴(kuò)展的模板語言,可以分隔設(shè)計(jì)、內(nèi)容和Python代碼。并且具有可繼承性。
表單處理:你可以方便的生成各種表單模型,實(shí)現(xiàn)表單的有效性檢驗(yàn)??梢苑奖愕膹哪愣x的模型實(shí)例生成相應(yīng)的表單。
Cache系統(tǒng):可以掛在內(nèi)存緩沖或其它的框架實(shí)現(xiàn)超級(jí)緩沖 -- 實(shí)現(xiàn)你所需要的粒度。
會(huì)話(session):用戶登錄與權(quán)限檢查,快速開發(fā)用戶會(huì)話功能。
國際化:內(nèi)置國際化系統(tǒng),方便開發(fā)出多種語言的網(wǎng)站。
自動(dòng)化的管理界面:不需要你花大量的工作來創(chuàng)建人員管理和更新內(nèi)容。Django自帶一個(gè)ADMIN site,類似于內(nèi)容管理系統(tǒng)
工作機(jī)制
2 搭建Django helloworld 2.1 安裝Django

首先我們應(yīng)該確保服務(wù)器上安裝了python3.7以及當(dāng)前使用的是python3.7的環(huán)境
然后在命令行輸入以下命令安裝Django2.1.8
pip install Django==2.1.8

2.2 創(chuàng)建一個(gè)項(xiàng)目

輸入以下命令在當(dāng)前文件夾下創(chuàng)建helloworld項(xiàng)目
$ django-admin startproject helloworld

修改settings.py中的配置
$ cd helloworld
$ cd helloworld
vim settings.py

#ALLOWED_HOSTS位置的修改如下
ALLOWED_HOSTS = [
    "你服務(wù)器的ip地址"
]

切換到上一級(jí)目錄并運(yùn)行項(xiàng)目
cd ..
$ python manage.py runserver 0.0.0.0:8001

使用runserver命令,開始一個(gè)工程
0.0.0.0 或者 0 , 代表任何IP都允許訪問
8001: 代表我們對(duì)外的端口,默認(rèn)端口為80
我們可以通過你的服務(wù)器IP:端口訪問這個(gè)網(wǎng)站
當(dāng)我們看下面的圖,就代表整個(gè)工程已經(jīng)啟動(dòng)成功

2.3 繼續(xù)完成helloworld

輸入Ctrl+c終止程序運(yùn)行
切換到manage.py,輸入以下命令
$ python manage.py startapp hello
然后打開 hello/views.py,把下面這些 Python 代碼輸入進(jìn)去:

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello world.")

接著在 hello 目錄里新建一個(gè) urls.py 文件,把下面這些 Python 代碼輸入進(jìn)去:

from django.urls import path

from . import views

urlpatterns = [
    path("", views.index, name="index"),
]

然后在helloworld/urls.py 文件的 urlpatterns 列表里插入一個(gè) include(), 如下:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path("polls/", include("hello.urls")),
    path("admin/", admin.site.urls),
]

最后切換到manage.py所在文件夾下,輸入以下命令
$ python manage.py runserver 0.0.0.0:8001
在你電腦的瀏覽器地址欄輸入http://你的服務(wù)器的ip地址:8001/hello/
即可看到hellworld

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44657.html

相關(guān)文章

  • Django-03.靜態(tài)文件與模板詳解

    摘要:通過使用來給子模板開放接口。必須是模板中的第一個(gè)出現(xiàn)的標(biāo)簽。如果出現(xiàn)重復(fù)代碼,就應(yīng)該考慮使用模板。盡可能多的定義,方便子模板實(shí)現(xiàn)更細(xì)的需求。 1、原始渲染 在django_lesson文件夾下新建一個(gè)django工程lesson2(新建工程的詳情請(qǐng)見Django-01、初識(shí)Django和搭建Django helloworld)views.py # -*- coding: utf-8 -...

    ls0609 評(píng)論0 收藏0
  • Django-02.url、錯(cuò)誤處理以及命名空間

    摘要:第二種方式叫做反向解析反向匹配反向查詢或者簡(jiǎn)單的反查。一個(gè)命名空間有兩個(gè)部分,它們都是字符串應(yīng)用命名空間它表示正在部署的應(yīng)用的名稱。例如,可以預(yù)見的管理站點(diǎn)的應(yīng)用命名空間是。的命名空間使用操作符指定。 1.Django 如何處理一個(gè)請(qǐng)求 Django 決定要使用的根URLconf 模塊。通常,這個(gè)值就是ROOT_URLCONF 的設(shè)置,但是如果進(jìn)來的HttpRequest對(duì)象具有一個(gè)...

    KaltZK 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<