首页 > 其他 > 详细

Django 基础

时间:2021-04-07 15:18:54      阅读:28      评论:0      收藏:0      [点我收藏+]

 

 

技术分享图片

 

动态网站: 网站内容会不停改变, 如: 今日头条、抖音

静态网站: 内容基本不改变, 如: 博客

 

 

技术分享图片

技术分享图片

Django 处理流程

技术分享图片

浏览器需要展示商品列表页面

  • 第 1 步,浏览器向 Django 发送 request 请求

  • 第 2 步,Django 收到请求,解析请求,做路由匹配,确定这个请求发给哪个视图函数

  • 第 3 步, 路由匹配结果: 成功或失败

  • 失败,直接返回 404, 代表资源丢失,找不到

  • 成功,继续向下执行对应的功能视图

  • 第 4 步、第 5 步,在视图中,利用模型类,操作数据库,查询商品数据

  • 第 6 步, 此时商品数据已经查询到,需要将数据传递给 模板, 在模板中展示商品数据

  • 第 7 步,将 展示好的商品列表页面,通过 response 响应返回给浏览器,在浏览器展示

 

Django 开发环境搭建

 

  1. 打开 cmd 窗口

 

  1. 在 cmd 窗口输入命令

 

Python

python -V # 测试电脑中的 python 环境是否完整

pip -V # 测试电脑中的 pip 包管理工具是否完整

版本号有就可以

 

  1. 安装基本的依赖包,为了提高安装速度,可以设置 国内代理镜像

 

Python

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 设置 pip 代理镜像为清华镜像

 

  1. 安装依赖包

 

  • 下载 requirements.txt文件

  • 打开文件所在的文件夹,在文件夹的地址栏输入 cmd,打开该文件夹所对应的 cmd 窗口

  • 可以在终端输入 dir命令,查看当前路径是否存在 ,requirements.txt文件

  • 在终端输入 pip install -r requirements.txt, 必须保证当前路径存在 该文件的

  • 然后就会自动联网安装

Django 项目搭建

  1. 确定一个存放 Django 项目的文件夹

  2. 在文件夹对应的地址栏输入 cmd, 打开对应的 终端窗口

  3. 在 cmd 窗口中,输入命令:

Python

django-admin startproject 项目名 # 创建一个 Django 项目

 

django-admin startproject django01 # 创建 django01 这个项目

  1. 使用 pycharm 打开项目时,注意: 打开项目的顶层目录

技术分享图片

运行项目

使用终端命令运行项目

在 pycharm 中最下面的终端按钮,点击,打开终端

技术分享图片

技术分享图片

 

Python

python manage.py runserver 9000 # 启动 Django 服务,并指明端口号为 9000

python manage.py runserver # 如果不跟 9000, 端口号默认为 8000

终端运行项目,需要停止项目,在终端中,使用 ctrl + C 停止服务

 

使用 pycharm 运行项目

技术分享图片

使用 pycharm 的 三角形按钮运行项目, 千万不能右键直接 运行

技术分享图片

pycharm 也可以修改端口号

技术分享图片

技术分享图片

打开编辑配置,将端口号 8000, 修改为 9000

易错点

问题一

Django 项目运行的默认端口号是 8000, 酷狗音乐的端口号默认也是 8000

打开酷狗时,再运行项目,会报错,无法运行

Python

Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。

解决方案二选一

  • 关闭酷狗

  • 把 Django 项目运行的端口号修改为 9000

 

问题二

django 项目无法运行

技术分享图片

这类问题,一般是 项目的解释器没有配置,或配置有问题

解决方案:

打开 file --> settings 打开配置项

技术分享图片

在右侧的窗口设置解释器即可

 

Django 项目组成

技术分享图片

项目的配置文件

 

Python

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(file)))

# BASE_DIR: 当前项目所在的绝对路径

 

Python

DEBUG = True # 说明当前项目属于调试模式

 

Python

# 整个项目按照 功能进行划分为不同的模块,每个模块被称为 app, 也被称为子应用

# 后期,自己创建一个 app 之后,需要在这,注册声明,以便 Django 识别

INSTALLED_APPS = [

‘django.contrib.admin‘,

‘django.contrib.auth‘,

‘django.contrib.contenttypes‘,

‘django.contrib.sessions‘,

‘django.contrib.messages‘,

‘django.contrib.staticfiles‘,

]

 

Python

# 这两项参数设为中国的语言和时间,也被称为 本地化设置

LANGUAGE_CODE = ‘zh-hans‘ # 修改语言为中文

TIME_ZONE = ‘Asia/Shanghai‘ # 设置时间为中国时间

子应用

创建子应用

有两条命令都可以创建app,任选一个即可

Python

python manage.py startapp APP名 # 不能和项目名重名

python manage.py startapp goods # 创建APP goods

 

django-admin startapp APP名

django-admin startapp goods # 创建APP goods

技术分享图片

 

子应用视图

goods/views.py

Python

from django.http.response import HttpResponse

 

# Create your views here.

def index(request):

"""

创建视图函数,需要接收请求,返回响应

这个视图,没有模型类,也没有模板

"""

return HttpResponse("今天第一天,大家很努力")

路由匹配

每个视图,想要被客户端请求触发执行,就必须做路由映射

 

django01/urls.py

Python

from django.contrib import admin

from django.urls import path

from goods.views import index # 从自己的子应用中导入视图函数

 

# 客户端请求过来,先经过总路由,

# 匹配成功,执行对应的视图函数

# 匹配失败,返回 404 ,找不到

urlpatterns = [

path(‘admin/‘, admin.site.urls),

path(‘‘, index)

# path(网址,视图函数),

# 一定需要和 Vue的路由匹配进行区分:

# Vue的网址必须以 / 开头

# Django的网址 不能以 / 开头, 但是可以以 / 结尾

]

Django 基础

原文:https://www.cnblogs.com/doomqy/p/14627349.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!