Django學習(1)

一 安裝

conda activate django
pip install django

在環境中安裝使用django

二 創建一個django項目

django-admin startproject mysite

在一個文件夾中執行上述cmd命令即可新建一個mysite項目然後會自動生成mysite文件夾

注意
您需要避免使用內置的Python或Django組件來命名項目。特別是,這意味着您應該避免使用類似 django(與Django本身衝突)或test(與內置Python包衝突)之類的名稱。

mysite/ #根目錄是項目的容器。它的名稱與Django無關;您可以將其重命名爲任何喜歡的名稱。
    manage.py #一個命令行實用程序,可讓您以各種方式與該Django項目進行交互
    mysite/#目錄是項目的實際Python包。它的名稱是Python包名稱,您需要使用它來導入其中的任何內容(例如mysite.urls)。
        __init__.py	#不解釋
        settings.py	#此Django項目的設置/配置。
        urls.py		#此Django項目的URL聲明;Django支持的網站的“目錄”。
        asgi.py		#與ASGI兼容的Web服務器爲您的項目提供服務的入口點。
        wsgi.py		#兼容WSGI的Web服務器爲您的項目提供服務的入口點。

三 啓動mysite項目

 python manage.py runserver

指定端口與是否內網

python manage.py runserver 0:8000

開發服務器會根據需要自動爲每個請求重新加載Python代碼。您無需重新啓動服務器即可使代碼更改生效。但是,某些操作(例如添加文件)不會觸發重新啓動,因此在這種情況下,您必須重新啓動服務器。
所以有時候,出現bug,不妨重新啓動試試

四 創建一個應用程序

python manage.py startapp polls

將任何這些Python代碼放在​​Web服務器的文檔根目錄中不是一個好主意,因爲這冒着人們可能通過Web查看您的代碼的風險。這對安全性不利。將代碼放在文檔根目錄之外的某個目錄中,例如 /mysite/polls。

您的應用程序可以放在Python路徑上的任何位置。在本教程中,我們將在與manage.py文件相同的目錄中創建輪詢應用程序, 以便可以將其導入爲自己的頂級模塊,而不是的子模塊mysite。

polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

五 像flask一樣,創建一個視圖函數

在polls/views.py中:

from django.http import HttpResponse
def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

與flask不同,django作爲初代web重型框架,其庫名稱看起來讓人不舒服。

五(1) 與flask不同,在polls/urls.py中指定路由

from django.urls import path
from . import views
urlpatterns = [
    path('', views.index, name='index'),
    ]

django不像flask一樣用裝飾器的語法來指定路由,而是集中在一個名爲urls.py中,django會依次從外層往裏匹配,即從mysite的urls到polls/urls.py

五(2) 導入到mysite的urls.py中

下一步是將根URLconf指向該polls.urls模塊。在mysite/urls.py中,添加的導入django.urls.include並將插入 include()到urlpatterns列表中,因此您具有:

from django.contrib import admin
from django.urls import include, path
urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

這時如果你想訪問index路由,需要鍵入127.0.0.1:8000/polls/index,django會從polls下的urls中解析出指定路由。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章