查看django版本
python -m django --version
創建django項目
django-admin startproject project_name
避免使用像 django(這將與Django本身沖突)或test(與內置Python包沖突)這樣的名稱
django項目目錄
project_name/
manage.py
project_name/
__init__.py
settings.py
urls.py
wsgi.py
- 外部
project_name/
根目錄只是項目的容器。它的名字對Django來說無關緊要; 你可以將它重命名為你喜歡的任何東西。 -
manage.py
:一個命令行實用程序,允許您以各種方式與此Django項目進行交互。您可以manage.py
在django-admin和manage.py中閱讀有關的所有詳細信息 。 - 內部
project_name/
目錄是項目的實際Python包。它的名稱是您需要用來導入其中任何內容的Python包名稱(例如project_name.urls
)。 -
project_name/__init__.py
:一個空文件,告訴Python該目錄應該被視為Python包。如果您是Python初學者,請閱讀官方Python文檔中有關包的更多信息。 -
project_name/settings.py
:此Django項目的設置/配置。 Django設置將告訴您有關設置如何工作的所有信息。 -
project_name/urls.py
:這個Django項目的URL聲明; 您的Django支持的站點的“目錄”。您可以在URL調度程序中閱讀有關URL的更多信息。 -
project_name/wsgi.py
:與WSGI兼容的Web服務器的入口點,用于為您的項目提供服務。有關更多詳細信息,請參閱如何使用WSGI進行部署。
開發服務器
python manage.py runserver
改變端口
python manage.py runserver 8000
改變IP和端口
python manage.py runserver 0:8000
創建應用
python manage.py startapp app_name
APP應用目錄
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()
函數傳遞了四個參數,兩個必需: route
和view
,以及兩個可選:kwargs
,和name
。
path()
參數:route
route
是包含URL模式的字符串。處理請求時,Django從第一個模式開始urlpatterns
并沿著列表向下移動,將請求的URL與每個模式進行比較,直到找到匹配的模式。
模式不搜索GET和POST參數或域名。例如,在請求中https://www.example.com/myapp/
,URLconf將查找 myapp/
。在請求中https://www.example.com/myapp/?page=3
,URLconf也會查找myapp/
。
path()
參數:view
當Django找到匹配的模式時,它調用指定的視圖函數,其中一個HttpRequest
對象作為第一個參數,并且路由中的任何“捕獲”值作為關鍵字參數。我們稍后會給出一個例子。
path()
參數:kwargs
任意關鍵字參數可以在字典中傳遞到目標視圖。我們不打算在教程中使用Django的這個功能。
path()
參數:name
命名您的URL可讓您從Django的其他地方明確地引用它,尤其是在模板中。此強大功能允許您在僅觸摸單個文件的同時對項目的URL模式進行全局更改。