Django环境搭建及创建_注册子应用
Posted 七月的小尾巴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django环境搭建及创建_注册子应用相关的知识,希望对你有一定的参考价值。
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 的区别
首先我们来说一下相似之处。
Flask
和Django
都是 Python Web 开发框架,他们都可以使用 python 在服务端创建 Web 应用,并且使用html
和CSS
作为前端,或者使用任何前端框架都可以。- 可以使用 ORM 或对象关系映射,这就意味着可以使用
SQLITE
、mysql
、PostgreSQL
和其他利用 ORM的数据库。(Django 默认使用 ORM, flask默认情况下,需要手动添加它。) - 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、路由、视图、模型类等,这些概念现在不清楚也没有关系,之后的文章中,会对这些功能逐一进行讲解,大家只需要有个概念即可。
下一章节,我们主要会讲 路由和视图函数,尽情期待吧~
文章内容为本人的学习总结,如有不正确的地方欢迎大家评论指出,大家一起学习探讨~
以上是关于Django环境搭建及创建_注册子应用的主要内容,如果未能解决你的问题,请参考以下文章
win10搭建django2.1.7开发环境,定义简易视图及网址
Django搭建个人博客系列: 环境准备及简单的博客系统搭建