查看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模式进行全局更改。