Django介绍
Django介绍 - 起源
2005年发布,采用Python语言编写的开源web框架
早期的时候Django主做新闻和内容管理
重量级的Python Web框架,Django配备了常用的大部分组件
Django介绍-组件
包含组件如下:
- 基本配置文件/路由系统
- 模型层(M)/模板层(T)/视图层(V)
- Cookies和Session
- 分页及发邮件
- Admin管理后台
Django介绍-用途
- 用途一:网站/微信公众号/小程序后端开发
- 用途二:人工智能平台融合
Django介绍-版本
Django官网 http://www.djangoproject.com
Django中文文档参考网站 https://yiyibooks.cn/
Django介绍-安装
支持Python的版本-3.5,3.6,3.7,3.8
在线安装
虚拟机执行
sudo pip3 install django==2.2.12
检查是否成功
sudo pip3 freeze|grep -i 'Django'
离线安装-官网下载离线安装包
将安装包复制到虚拟机
解压缩
tar -xvf Django-2.2.12.tar.gz
进入目录
cd Django-2.2.12
执行安装
sudo python3 setup.py install
检查是否成功
sudo pip3 freeze|grep -i 'Django'
Django项目结构
项目结构-创建项目
成功安装Django后,虚拟机终端会有 django-admin 命令
执行 django-admin startproject 项目名 即可创建出对应项目文件夹
例如终端执行 django-admin startproject mysite1 则可创建出mysite1项目
启动[测试开发阶段]
终端cd进入到项目文件夹,例如 cd mysite1
进入到项目文件夹后,执行 python3 manage.py runserver 启动django服务(注:该启动方式下,Django在前台启动服务,默认监听8000端口)
浏览器访问 http://127.0.0.1:8000可看到django的启动页面
注:如果想更换端口,则可以用 python3 manage.py runserver 端口号
项目结构-关闭服务
关闭服务
方式1:在runserver启动终端下
执行 Ctrl+c 可关闭Django服务
方式2:在其他终端下
执行 sudo lsof -i:8000 查询出Django的进程ID
执行 kill -9 对应Django进程ID
项目结构-启动常见问题
问题:启动时报错
Error:That port is already in use.
问题原因:端口已被使用,证明当前Django启动时,默认监听的8000端口已被其他进程占用
解决方案:参考关闭服务
项目结构-结构解析
展开mysite1项目,结构如下:
项目结构-manage.py
manage.py包含项目管理的子命令,如:
python3 manage.py runserver 启动服务python3 manage.py startapp 创建应用python3 manage.py migrate 数据库迁移- …
- 直接执行
python3 manage.py 可列出所有的Django子命令
项目结构-项目同名文件夹
项目同名文件夹-mysite1/mysite1
__init__ :Python包的初始化文件wsgi.py :WEB服务网关的配置文件-Django正式启动时,需要用到urls.py :项目的主路由配置-HTTP请求进入Django时,优先调用文件settings.py :项目的配置文件-包含项目启动时需要的配置
项目结构-settings.py
settings.py 包含了Django项目启动的所有配置
配置项分为共有配置和自定义配置
配置格式例:BASE_DIR=‘XXXX’
公有配置-Django官方提供的基础配置
http://docs.djangoproject.com/en/2.2/ref/settings/
项目结构-公有配置
ALLOWED_HOSTS
实例:如果要在局域网其他主机也能访问此主机的Django服务
启动方式如下:
python2 manage.py runserver 0.0.0.0:5000
指定网络设备如果内网环境下其他主机想正常访问该站点,需加ALLOWED_HOST=[‘内网ip’]
设置允许访问到本项目的host头值
[]空列表,表示只有请求头中host为 127.0.0.1 ,localhost能访问到当前项目
[‘192.168.1.3’,‘127,0,0,1’]表示只有当前两个host头的值能访问当前项目
INSTALLED_APPS-指定当前项目中安装的应用列表
MIDDLEWARE-用于注册中间件
TEMPLATES-用于指定模板的配置信息
DATABASES-用于指定数据库的配置信息
LANGUAGE_CODE-用于指定语言配置
TIME_ZONE-用于指定当前服务器端时区
- 世界标准时间:“UTC”
- 中国时区:“Asia/Shanghai”
ROOT_URLCONF-用于配置主url配置’mysite1.urls’
ROOT_URLCONF=‘mysite1.urls’
项目结构-自定义配置
settings.py中也可以添加开发人员自定义的配置
配置建议:名字尽量个性化-以防覆盖掉公有配置
例如:ALIPAY_KEY=‘XXXXXX’
settings.py中的所有配置项,都可以按需的在代码中引入
引入方式:from django.conf import settings
ROOT_URLCONF=‘mysite1.urls’
项目结构-自定义配置
settings.py中也可以添加开发人员自定义的配置
配置建议:名字尽量个性化-以防覆盖掉公有配置
例如:ALIPAY_KEY=‘XXXXXX’
settings.py中的所有配置项,都可以按需的在代码中引入
引入方式:from django.conf import settings
(以上内容均为rin的学习笔记)
|