# 初识 Django

# 一、下载 Django

# 1.1 命令行下载

django 是 python 的一个库,可以直接使用 pip 或者 conda 下载。

1
pip install django

# 1.2 PyCharm 下载

File->Settings->Project->Python Interpreter-> 选择自己的 Interpreter-> 点击 +-> 搜索下载即可

# 二、创建项目

# 2.1 命令行创建

如果已经配置了 python 的环境变量,就可以直接使用 django-admin 命令创建项目,创建项目的时候会自动生成一些代码文件。在创建项目前需要切换到所想要创建目录的文件夹下。

1
django-admin startproject 项目名

# 2.2 PyCharm 创建

File->new project->django。

选择 python 解释器,创建项目名

特殊说明

  • 命令行创建的项目是标准的
  • pycharm 在标准的基础上添加了 templates 目录
    • 前期可以删除该目录
    • 删除后需要在 settings.py 中删除该路径

# 2.3 默认文件介绍

1
2
3
4
5
6
7
8
mysite
├── manage.py 【项目的管理,启动项目、创建app、数据管理】【不要动】【***常常用***】
└── mysite
├── __init__.py
├── settings.py 【项目配置】 【***常常修改***】
├── urls.py 【URL和函数的对应关系】【***常常修改***】
├── asgi.py 【接收网络请求-异步】【不要动】
└── wsgi.py 【接收网络请求-同步】【不要动】

# 三、创建 APP

APP 的应用情况:类似于分布式的管理,对功能进行抽取。

1
2
3
4
5
6
7
8
9
- 项目
- app,用户管理【表结构、函数、HTML模板、CSS】
- app,订单管理【表结构、函数、HTML模板、CSS】
- app,后台管理【表结构、函数、HTML模板、CSS】
- app,网站 【表结构、函数、HTML模板、CSS】
- app,API 【表结构、函数、HTML模板、CSS】
..

注意:我们开发比较简洁,用不到多app,一般情况下,项目下创建1个app即可。

# 3.1 命令行创建

在 pycharm 下打开终端输入以下命令即可。

1
python manage.py  startapp app_name

# 3.2 结构解析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
├── app01
│   ├── __init__.py
│   ├── admin.py 【固定,不用动】django默认提供了admin后台管理。
│   ├── apps.py 【固定,不用动】app启动类
│   ├── migrations 【固定,不用动】数据库变更记录
│   │   └── __init__.py
│   ├── models.py 【**重要**】,对数据库操作。
│   ├── tests.py 【固定,不用动】单元测试
│   └── views.py 【**重要**】,函数。
├── manage.py
└── mysite2
├── __init__.py
├── asgi.py
├── settings.py
├── urls.py 【URL->函数】
└── wsgi.py

# 四、启动 Django

# 4.1 注册 APP

创建的 APP 需要在 settings.py 文件下注册 APP。注册方法如下:

  • 打开 settings.py 文件
  • 找到 INSTALLED_APPS 项
  • 在最后加上 app_name

# 4.2 编写 URL 和视图函数的关系

修改 urls.py 文件。

  • 导入 app01 下的 views 文件
  • 修改 path
  • 第一项是使用 url 访问的路径
  • 第二项是对应 views 下的逻辑视图函数

# 4.3 编写 views.py 下的逻辑函数

views.py 文件下原来是空的,需要自己定义函数。如 4.2 所示,需要在 views.py 文件下自定义 index 函数

# 4.4 启动 Django

  • 命令行启动

1
python manage.py runserver

  • Pycharm 启动

直接点击运行即可

# 4.5 测试 Django

打开浏览器,输入 http://127.0.0.1:8000/index

得到以下页面即运行成功:

# 五、Django 的请求与响应

现在假设定义一个 view 函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def get_something(request):
# request是一个对象,封装了用户发送过来的所有请求相关数据
# 1.获取请求方式GET/POST
print(request.method)

# 2.通过GET的方式在URL上传递值,获取该值
print(request.GET)

# 3.在请求体中提交数据,获取请求体中的数据
print(request.POST)

# 4.【响应】HttpResponse("返回内容"),将字符串返回给请求者。
return HttpResponse("返回内容")

# 5.【响应】render:读取HTML内容+渲染(替换)->字符串,返回给用户浏览器。
return render(request,"some.html",{"title":"字符串"})

# 6.【响应】让浏览器重定向到其他页面
return redirect("https://www.baidu.com")


  • request 是一个对象,封装了用户发送过来的所有请求相关数据
  • request.method 获取请求方式 GET/POST
  • request.GET 获取由 GET 方法传递的值
  • 【响应】HttpResponse ("返回内容"), 将字符串返回给请求者。
  • 【响应】render: 读取 HTML 内容 + 渲染(替换)-> 字符串,返回给用户浏览器
  • 【响应】让浏览器重定向到其他页面
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

colagold 微信支付

微信支付

colagold 支付宝

支付宝