亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Django-01、初識Django和搭建Django helloworld

aristark / 1124人閱讀

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

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

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

快速高效開發(fā)

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

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

社區(qū)豐富

第三方框架豐富

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

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

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

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

Django也是一個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ì)
對象關(guān)系映射 (ORM,object-relational mapping):以Python類形式定義你的數(shù)據(jù)模型,ORM將模型與關(guān)系數(shù)據(jù)庫連接起來,你將得到一個非常容易使用的數(shù)據(jù)庫API,同時你也可以在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)超級緩沖 -- 實(shí)現(xiàn)你所需要的粒度。
會話(session):用戶登錄與權(quán)限檢查,快速開發(fā)用戶會話功能。
國際化:內(nèi)置國際化系統(tǒng),方便開發(fā)出多種語言的網(wǎng)站。
自動化的管理界面:不需要你花大量的工作來創(chuàng)建人員管理和更新內(nèi)容。Django自帶一個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)建一個項(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地址"
]

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

使用runserver命令,開始一個工程
0.0.0.0 或者 0 , 代表任何IP都允許訪問
8001: 代表我們對外的端口,默認(rèn)端口為80
我們可以通過你的服務(wù)器IP:端口訪問這個網(wǎng)站
當(dāng)我們看下面的圖,就代表整個工程已經(jī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 目錄里新建一個 urls.py 文件,把下面這些 Python 代碼輸入進(jìn)去:

from django.urls import path

from . import views

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

然后在helloworld/urls.py 文件的 urlpatterns 列表里插入一個 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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/44657.html

相關(guān)文章

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

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

    ls0609 評論0 收藏0
  • Django-02.url、錯誤處理以及命名空間

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

    KaltZK 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<