
Django入门
更新: 2025/2/24 字数: 0 字 时长: 0 分钟
这一年,开源 Web 框架 Django 发布,Django 提供了许多开箱即用的功能和工具,例如 ORM(对象关系映射)、模板引擎、表单处理等。大大简化了 Web 应用程序的开发过程,帮助开发人员快速构建功能完善的应用。目前 Django 已成为了最受欢迎的 Python Web 框架,在海外 Django 的受欢迎度更高,但是需要注意的是,虽然有不少流行的网站(例如知乎、豆瓣等)使用 Python 作为后端开发语言,但是在 Web 开发领域,Python 并不是最优选择。
Django:Python最知名、最有代表性的Web应用开发框架。
Django应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响。
Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。
Django遵循了MVC开发模式,并将这个模式命名为MTV(MTV模式是Python中独有的):M Model(数据模型,用于后端数据库模型定义和处理模块),T Templates(模版,用于前端显示信息),V View(视图,用于接收客户端请求、处理Model、渲染返回信息给客户端等)。
Django优势劣势:
Django优势:
1.一站式开发解决方案,拧包入住
2.各种组件集成高度成熟,配置齐全
3.用户模型、权限认证体系健全
4.ORM数据库管理功能简单方便
5.自带后台管理功能
Django劣势:
1.配置相对复杂
2.简单应用采用Django有一种杀鸡用牛刀的感觉
!> 注意:这里我特别强调一下,我遇见的一个大坑,电脑的用户名必须是英文,否则可能会在学习Django的过程中出现奇奇怪怪的错误。
准备工作
虚拟环境
首先我们需要新建一个虚拟环境,用于我们后期新建Django项目的使用。
# 切换到F盘
C:\Users\ChenZhuo>f:
# 创建mysite文件夹
F:\>mkdir mysite
# 进入mysite文件夹
F:\>cd mysite
# 新建名称为venv虚拟环境
F:\mysite>virtualenv venv
新建的虚拟环境,会在mysite文件夹下生成一个venv的文件夹用来存放虚拟环境,其结构目录如下:
F:\mysite\venv>:
- Lib
- 内置模块
- site-packages(存放第三方模块)
- Scripts
- activate(启动虚拟环境)
- deactivate(退出虚拟环境)
- pip.exe(安装第三库的工具)
- python.exe(python解释器)
我们进入到Scripts文件夹中,通过命令启动新建的venv虚拟环境:
# 进入到Scripts文件夹
F:\mysite>cd venv\Scripts
# 启动虚拟环境
F:\mysite\venv\Scripts>activate
# 出现(venv)说明环境启动成功,查看虚拟环境安装的包,只有三个很干净
(venv) F:\mysite\venv\Scripts>pip list
Package Version
---------- -------
pip 22.0.4
setuptools 62.1.0
wheel 0.37.1
安装Django
在虚拟环境当中,我们通过如下命令安装Django框架:
(venv) F:\mysite\venv\Scripts>pip install django
当Django框架安装成功以后,在虚拟环境venv的目录就会多出两样东西:
F:\mysite\venv>:
- Lib
- 内置模块
- site-packages(存放第三方模块)
- django(Django框架源码)
- Scripts
- activate(启动虚拟环境)
- deactivate(退出虚拟环境)
- django-admin.exe(工具,创建Django项目以及文件夹和文件)
- pip.exe(安装第三库的工具)
- python.exe(python解释器)
创建项目
django项目中会有一些默认的文件和文件夹。
通过终端
- 打开终端。
- 在终端里,确定并进入项目路径。
- 执行命令创建项目:
"c:\python安装路径\Script\django-admin.exe" startproject 项目名称
# 如果c:\python安装路径\Script已加入环境变量,直接执行
django-admin startproject 项目名称
!> 注意:项目名称不能和已有项目名称重复。
通过PyCharm
首先保证我们的PyCharm是专业版的,点击左上角Fille——选择New Project...
左侧选择要创建的项目类型,我们选择Django,在Location栏我们选择已经项目存放的 F:\mysite
路径,在下方我们选择新建虚拟环境venv中的python.exe作为当前项目的解释器,最后点击右下角的Create按钮创建项目。
创建区别
通过命令行创建的项目是标准的,通过PyCharm创建的项目会额外附加一些东西,因此我们需要删除一些东西,首先我们打开 setting.py
删除TEMPLATES中的DIRS里面的内容,其次就是删除左侧的 templates
文件夹:
删除后如下:
文件介绍
初始结构
创建好了名称为mysite的Django项目,其初始结构如下:
mysite
- manage.py(管理、启动项目;创建app;数据管理)(不做修改)
- mysite
- __init__.py
- settings.py(项目配置)(经常修改)
- urls.py(URL和函数的对应关系)(经常修改)
- asgi.py(接受网络请求)(不做修改)
- wsgi.py(接受网络请求)(不做修改)
APP结构
**APP其实就是一个应用,它里面可以有独立的表结构、函数、HTML模板等,从而让你编写更大的项目。**我们开发比较简洁,用不到多APP,一般情况下,项目下创建1个APP即可。在项目路径下执行下面命令:
# 创建一个名称为app01的APP应用
(venv) F:\mysite>python manage.py startapp app01
在项目路径下就会出现一个app的文件夹:
其app01的目录结构如下:
app01
- migrations(数据库字段变更)(很少修改)
- __init__.py
- __init__.py
- admin.py(提供admin后台管理)(很少修改)
- apps.py(app启动类)(不做修改)
- models.py(数据库模型)(经常修改)
- tests.py(单元测试)(不做修改)
- views.py(视图函数)(经常修改)
快速上手
注册app
在上面我们已经创建了一个app01应用,但我们还需要注册才能使用它。首先打开app01应用里面的 apps.py
文件,复制里面的app启动类的名称为 App01Config
类:
接下来打开项目文件夹中的 settings.py
文件,找到 INSTALLED_APPS
配置项,添加如下配置:
# APP应用名称.文件名称.启动类的名称
'app01.apps.App01Config'
视图函数
现在我们打开app01应用里面的 view.py
文件类编写如下视图函数:
# 导入一个HttpResponse
from django.shortcuts import render, HttpResponse
# 默认必须要有request参数
def index(request):
return HttpResponse("欢迎使用")
注册视图
**我们写好一个视图函数以后需要注册它才能访问得到。**打开项目中的 urls.py
文件,编写如下代码,这样当我们去访问 https://.../index
路径时就会去执行 app01.views.index
函数:
from django.contrib import admin
from django.urls import path
# 引入app01应用中views视图文件
import app01.views
urlpatterns = [
# 路径 ---> app01应用.文件.视图函数
path('index/', app01.views.index),
]
启动项目
启动项目也分两种方式:命令行启动、PyCharm启动。
命令行启动,需要在项目路径下执行如下命令:
# 在本机的5000端口上启动该项目
(venv) F:\mysite> python manage.py runserver 5000
PyCharm启动,如果通过PyCharm创建的项目,默认就配置好了环境,点击左上方的运行、调试按钮都可以启动项目:
运行后它默认是在8000端口启动项目:
访问这个端口,发现返回一个Page not found错误,这是因为我们没有当前路径对应的视图函数,而且Django还提示了目前只有 index/
这一路径有视图函数:
那么我们将路径加上,即访问 http://127.0.0.1:8000/index/
路径,就能成功的访问到 app01.views.index
视图函数: