IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Django环境搭建及创建_注册子应用 -> 正文阅读

[Python知识库]Django环境搭建及创建_注册子应用

官网文档

django 官网文档:
https://docs.djangoproject.com/zh-hans/2.0/ref/

创建虚拟环境

首先,我们需要创建一个虚拟环境

在这里插入图片描述
使用镜像源安装依赖库

pip install pipenv -i  https://pypi.tuna.tsinghua.edu.cn/simple/

使用 pipenv shell命令创建虚拟环境

pipenv shell

这里我们来了解一下 pipenv 的运行机制,当我们指定 pipenv shell 命令时,该命令会先检测程序中是否有虚拟环境,如果有虚拟环境的话,会自动进入到虚拟环境中,如果检测到没有虚拟环境则会自动创建虚拟环境,且虚拟环境的名称为 项目名称 + 随机字符。

将当前解释器更改成系统解释器
在这里插入图片描述
在这里插入图片描述
上面我们虚拟环境就创建好了。

创建 django 项目

当我们使用 pipenv 的时,会有一个Pipfile,我们只需要修改文件中的url,更改镜像源,这里我选择的清华源

url = "https://pypi.tuna.tsinghua.edu.cn/simple/"

在这里插入图片描述
使用命令行的方式安装 django

pipenv shell
pipenv install django 
// 或者 使用 pip install django

创建 django 项目工程

使用 django-admin 创建项目, 记得 命令最后面是有个小数点 的,这里指的是在层级目录下创建,项目名称一般与所在路径名称一致

django-admin startproject [项目名称] .
eg:django-admin startproject  pythonProject  .

在这里插入图片描述
输入命令启动 django 服务

python manage.py runserver 


控制台输出:
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
August 23, 2022 - 11:08:52
Django version 4.1, using settings 'pythonProject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

上方我们可以看到 django默认监听的端口为 8000,如果我们需要更改端口可以使用如下命令

python manage.py runserver 127.0.0.1:9999

当然,如果不想每次都通过命令行去启动django项目的话,我们可以在 pycharm 中进行配置

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
点一个选择项目的根目录(就是创建项目的最顶层的那个文件夹)

第二个选择根目录下方的 setting 文件,然后点击确认即可

在这里插入图片描述
最后在点击 ok就配置完成了。之后我们在点击下方图中的 运行按钮,就可以启动 django 服务了。

在这里插入图片描述
启动成功之后,我们 访问 控制台输出的地址 http://127.0.0.1:8000/,进入到欢迎页面,就说明我们服务启动成功。
在这里插入图片描述
在这里插入图片描述

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

更改系统语言

Django 和 Flask 的区别

首先我们来说一下相似之处。

  1. Flask Django 都是 Python Web 开发框架,他们都可以使用 python 在服务端创建 Web 应用,并且使用 HTMLCSS 作为前端,或者使用任何前端框架都可以。
  2. 可以使用 ORM 或对象关系映射,这就意味着可以使用 SQLITEMYSQLPostgreSQL 和其他利用 ORM的数据库。(Django 默认使用 ORM, flask默认情况下,需要手动添加它。)
  3. Django 使用类似于 Jinja 的模板引擎,Flask 使用 Jinja 作为其模板引擎。

django 和 falsk 的差异

  • Flask是一个轻量级的微框架,适合中小型项目,Django是一个“大而全”的重量级框架,适合大中型项目的快速开发
  • Flask 核心已经实现(路由),但是其他的技术需要下载第三方模块来补充或者自己开发,比较锻炼 python 的基础能力,而 django 是目前所有 web 框架中封装最完善的,很多功能 django 都已经开发完成,如 admin后台管理、数据库 ORM、模板系统

Django 的特点

  • 提供创建项目工程自动化工具
  • 数据库 ORM 支持
  • 模板
  • 表单
  • Admin 管理站点
  • 文件管理
  • 认证权限
  • session 机制
  • 缓存 等等

了解 django 项目的工程结构

当我们创建完项目工程之后,可以看到如下这些文件,我们来分别了解一下,这些文件他们的具体作用是什么。
在这里插入图片描述

  • pythonProject 项目名称
  • __init__.py 包文件
  • asgi.py 用于启动 ASGI 协议应用服务器的入口文件,在异步项目部署时使用
  • setting.py 用于存放 django 的全局配置信息
  • urls.py 用于创建全局路由信息
  • wsgi.py 用于启动 WSGI 协议应用服务器的入口文件,在异步项目部署时使用(线上部署会用到,开发时用不到)
  • db.sqlite3 django 项目自带的文本型数据库
  • manage.py 用于管理 django 项目的命令行工具

创建子应用

什么是子应用?

在 web 应用中,通常有一些业务功能是在不同的项目中都可以复用的,顾在开发中通常会将工程项目拆分未不同的子功能模块,各个功能模块之间保持相对独立,在其他工程项目中用到某个特定的功能模块时,可以将该模块代码整体复制过去,达到复用。

子应用的意义:

  • 解耦:将各个功能模块保持独立
  • 复用:方便各功能模块进行复用

创建子应用

 python manage.py startapp 子应用名称

注册

创建子应用之后,我们需要在 setting.py 中的 INSTALLED_APPS 列表进行注册,如果不注册,则当前所创建的模块不可用。

两种注册方式,方式一:

直接在 INSTALLED_APPS 中添加 “子应用名称” **推荐这种写法**


INSTALLED_APPS = [
    'project',
]

在这里插入图片描述

方式二:

子应用名称.apps.子应用名称首字母大写在加Config”

INSTALLED_APPS = [
	'project.apps.ProjectConfig'
]

子应用的结构介绍

在这里插入图片描述

  • migrations 用于存放迁移脚本
  • __init__.py 包文件
  • admin 用于配置 admin 后台管理站点
  • apps.py 用于配置子应用信息
  • models.py 用于定义模型类
  • test.py 用于定义当前子应用的单元测试逻辑
  • view.py 用于定义应用的业务逻辑实现

总结

本章节主要讲了如何搭建 django 环境 以及如何创建和注册子应用。看完之后的小伙伴可以自己动手试一试。

有些概念可能当前不是很理解,如 ORM、路由、视图、模型类等,这些概念现在不清楚也没有关系,之后的文章中,会对这些功能逐一进行讲解,大家只需要有个概念即可。

下一章节,我们主要会讲 路由和视图函数,尽情期待吧~

文章内容为本人的学习总结,如有不正确的地方欢迎大家评论指出,大家一起学习探讨~

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 00:49:11  更:2022-09-30 00:50:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 6:53:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码