查看django版本
python -m django --version
創(chuàng)建django項目
django-admin startproject project_name
避免使用像 django(這將與Django本身沖突)或test(與內(nèi)置Python包沖突)這樣的名稱
django項目目錄
project_name/
manage.py
project_name/
__init__.py
settings.py
urls.py
wsgi.py
- 外部
project_name/
根目錄只是項目的容器拢操。它的名字對Django來說無關(guān)緊要; 你可以將它重命名為你喜歡的任何東西婿奔。 -
manage.py
:一個命令行實用程序厚掷,允許您以各種方式與此Django項目進(jìn)行交互洗出。您可以manage.py
在django-admin和manage.py中閱讀有關(guān)的所有詳細(xì)信息 。 - 內(nèi)部
project_name/
目錄是項目的實際Python包檩奠。它的名稱是您需要用來導(dǎo)入其中任何內(nèi)容的Python包名稱(例如project_name.urls
)佩番。 -
project_name/__init__.py
:一個空文件掐松,告訴Python該目錄應(yīng)該被視為Python包踱侣。如果您是Python初學(xué)者,請閱讀官方Python文檔中有關(guān)包的更多信息甩栈。 -
project_name/settings.py
:此Django項目的設(shè)置/配置泻仙。 Django設(shè)置將告訴您有關(guān)設(shè)置如何工作的所有信息。 -
project_name/urls.py
:這個Django項目的URL聲明; 您的Django支持的站點的“目錄”量没。您可以在URL調(diào)度程序中閱讀有關(guān)URL的更多信息玉转。 -
project_name/wsgi.py
:與WSGI兼容的Web服務(wù)器的入口點,用于為您的項目提供服務(wù)殴蹄。有關(guān)更多詳細(xì)信息究抓,請參閱如何使用WSGI進(jìn)行部署。
開發(fā)服務(wù)器
python manage.py runserver
改變端口
python manage.py runserver 8000
改變IP和端口
python manage.py runserver 0:8000
創(chuàng)建應(yīng)用
python manage.py startapp app_name
APP應(yīng)用目錄
app_name/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
view.py是視圖文件
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the index.")
在app里添加urls.py文件
app_name/urls.py
from django.urls import path
from app_name import views
urlpatterns = [
path('', views.index, name='index'),
]
修改project_name/urls.py
fromfrom django.contribdjango.contrib import admin
from django.urls import include, path
urlpatterns = [
path('app_name/', include('app_name.urls')),
path('admin/', admin.site.urls),
]
path()
函數(shù)傳遞了四個參數(shù)袭灯,兩個必需: route
和view
刺下,以及兩個可選:kwargs
,和name
稽荧。
path()
參數(shù):route
route
是包含URL模式的字符串橘茉。處理請求時,Django從第一個模式開始urlpatterns
并沿著列表向下移動姨丈,將請求的URL與每個模式進(jìn)行比較畅卓,直到找到匹配的模式。
模式不搜索GET和POST參數(shù)或域名蟋恬。例如翁潘,在請求中https://www.example.com/myapp/
,URLconf將查找 myapp/
歼争。在請求中https://www.example.com/myapp/?page=3
拜马,URLconf也會查找myapp/
渗勘。
path()
參數(shù):view
當(dāng)Django找到匹配的模式時,它調(diào)用指定的視圖函數(shù)俩莽,其中一個HttpRequest
對象作為第一個參數(shù)旺坠,并且路由中的任何“捕獲”值作為關(guān)鍵字參數(shù)。我們稍后會給出一個例子豹绪。
path()
參數(shù):kwargs
任意關(guān)鍵字參數(shù)可以在字典中傳遞到目標(biāo)視圖价淌。我們不打算在教程中使用Django的這個功能申眼。
path()
參數(shù):name
命名您的URL可讓您從Django的其他地方明確地引用它瞒津,尤其是在模板中。此強(qiáng)大功能允許您在僅觸摸單個文件的同時對項目的URL模式進(jìn)行全局更改括尸。