Django入门(一)
一、安装Python
我应该使用哪个版本的 Python 来配合 Django?
Django 版本 | Python 版本 |
---|---|
2.2 | 3.5,3.6,3.7,3.8(2.2.8 添加),3.9(2.2.17 添加) |
3.0 | 3.6,3.7,3.8,3.9 (3.0.11 添加) |
3.1 | 3.6,3.7,3.8,3.9(3.1.3 添加) |
3.2 | 3.6, 3.7, 3.8, 3.9, 3.10 (在 3.2.9 中就已经加入了) |
4.0 | 3.8,3.9,3.10 |
对于每个版本的Python,官方仅支持最新的三级版本(A.B.C)。
在 Python下载页面 找到每个系列的微版本。
二、安装Diango
...\> py -m pip install Django
or
...\> pip install Django
验证:
...\> py -m django --version
模块路径:
并且在python路径D:\APP\Python39\Scripts
会多出一个django-admin.exe
,其用于创建项目。
三、编写第一个 Django 应用
1.创建项目
打开命令行,cd
到一个放置项目代码的目录,然后运行以下命令:
...\> django-admin startproject mysite
这里需要注意,因为我在系统环境变量设置了该路径D:\APP\Python39\Scripts
,所以可以直接使用django-admin
.
让我们看看 startproject
创建了些什么:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
这些目录和文件的用处是:
- 最外层的
mysite/
根目录只是你项目的容器, 根目录名称对 Django 没有影响,你可以将它重命名为任何你喜欢的名称。 manage.py
: 一个让你用各种方式管理 Django 项目的命令行工具。- 里面一层的
mysite/
目录包含你的项目,它是一个纯 Python 包。它的名字就是当你引用它内部任何东西时需要用到的 Python 包名。 (比如mysite.urls
). mysite/__init__.py
:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。mysite/settings.py
:Django 项目的配置文件。mysite/urls.py
:Django 项目的 URL 声明,就像你网站的“目录”。mysite/asgi.py
:作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口。mysite/wsgi.py
:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。
2.运行服务器
...\> py manage.py runserver
注意此时当前目录!
服务器正在运行,浏览器访问 https://127.0.0.1:8000/。
更换端口
默认情况下,runserver 命令会将服务器设置为监听本机内部 IP 的 8000 端口。
如果你想更换服务器的监听端口,请使用命令行参数。举个例子,下面的命令会使服务器监听 8080 端口:
...\> py manage.py runserver 8080
相关用法
3.创建应用
在你的 manage.py
同级目录下创建投票应用。这样它就可以作为顶级模块导入,而不是 mysite
的子模块。
请确定你现在处于 manage.py
所在的目录下,然后运行这行命令来创建一个应用:
...\> py manage.py startapp poll
这将会创建一个 poll
目录,它的目录结构大致如下:
poll/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
这个目录结构包括了投票应用的全部内容。
4.编辑第一个视图
打开 poll/views.py,把下面这些 Python 代码输入进去:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
5.URL映射
在 poll 目录里新建一个 urls.py 文件。
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
在 mysite/urls.py 文件的 urlpatterns 列表里插入一个 include(), 如下:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('poll/', include('poll.urls')),
path('admin/', admin.site.urls),
]
函数 path()
具有四个参数,两个必须参数:route
和 view
,两个可选参数:kwargs
和 name
。
URLconfs 中使用的 django.urls 函数
6.启动
...\> py manage.py runserver
浏览器访问 http://localhost:8000/poll/,你应该能够看见 "Hello, world. You're at the poll index." ,这是你在 index 视图中定义的。