admin管理员组文章数量:1122850
typora-root-url: img
Django学习
1 MVC 与MVT流程介绍
2 安装虚拟环境
2.1 window下安装虚拟环境
-
安装python
-
创建虚拟环境
2.1 : 安装 virtualenv
pip install -i https://pypi.doubanio.com/simple/ virtualenv
2.2 : 安装 virtualenvwrapper-win
pip install -i https://pypi.doubanio.com/simple/ virtualenvwrapper-win
2.3 设置环境变量
计算机-->属性-->高级系统设置-->环境变量-->系统变量-->新建 变量名 : WORKON_HOME 路径 : 当前想存储的路径
2.4 基本虚拟环境的命令
1. 创建虚拟环境 mkvirtualenv -p python3 glm_test # 加 -p python3 的原因是指定copy的是python3 而不是python2 2. 进入虚拟环境 workon 虚拟环境名称 3. 退出虚拟环境 deactivate 4. 删除虚拟环境 rmvirtualenv 虚拟环境名称 5. 列出所有虚拟环境列表 workon
2.5 虚拟环境注意事项
cmd进入的时候, 必须进入到指定的虚拟环境路径下才能操作东西, 否则, 比如直接在桌面cmd进入虚拟环境, 那么下载的文件之后会在当前环境的路径下下载
2.2 ubuntu下安装虚拟环境
-
安装 python3 pip3
# 1. 输入pip3, python3 然后根据提示完成安装
-
安装虚拟环境
sudo apt install python3-virtualenv pip3 install virtualenvwrapper
-
配置环境变量
在home目录创建 没有
.bashrc
文件的话需要创建这个文件, 有的话就不用# 1. 创建文件 touch .bashrc # 2. 查看virtualenvwrapper.sh在哪里 whereis virtualenvwrapper.sh # 3. 进入.bashrc文件 vi .bashrc # 4. 进入编辑模式 输入字母 a # 5. 在最后面加入以下两行 export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh # 6. 保存退出 按下 esc, 接着输入 :wq! # 7. 使.bashrc生效 source .bashrc
-
使用虚拟环境
1. 创建虚拟环境 mkvirtualenv -p python3 glm_test # 加 -p python3 的原因是指定copy的是python3 而不是python2 2. 进入虚拟环境 workon 虚拟环境名称 3. 退出虚拟环境 deactivate 4. 删除虚拟环境 rmvirtualenv 虚拟环境名称 5. 列出所有虚拟环境列表 workon
3 安装mysql
3.1 window下安装mysql
-
安装mysql 和 navicat
具体内容步骤安装包里都有
-
安装 mysqlclient (驱动)
# 0. 执行以下代码 pip install mysqlclient 如果没用, 那么用以下方法 : # 1. 进入下面地址, 下载安装包 : https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient (因为pip的时候一直报错, 根据网上查的, 暂时使用这个方法) # 2. 找到 mysqlclient-1.4.6-cp38-cp38-win32.whl (注意点 : 1. 找32位的, 64不知道为啥没用, 2. cp38代表的是配合python2.8使用) # 3. 将下载的文件放至虚拟环境中 # 4. 在放至文件的虚拟环境目录下执行 : pip install mysqlclient-1.4.6-cp38-cp38-win32.whl # 5. 安装成功
3.2 ubuntu云服务器安装mysql和使用
-
安装
# 分别执行下面三条命令 sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install libmysqlclient-dev
-
设置root密码
# 1. 切换到root目录下 sudo su # 2. 进入mysql mysql # 3. 配置数据库root权限,主要是修改密码 mysql> update mysql.user set authentication_string=PASSWORD('123456'), plugin='mysql_native_password' where user='root'; # 4、设置生效和退出mysql、root模式 mysql> flush privileges; mysql> exit; Bye # 5. 重启MySQL服务 sudo /etc/init.d/mysql restart # 6. 重新进入MySQL mysql -uroot -p # 7. 接着输入刚刚设置好的mysql密码
-
设置远程连接
# 1. 执行如下 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf # 2. 点击a, 进入编辑模式 # 3. 注释掉以下代码 bind-address = 127.0.0.1 # 4. 保存退出, 按下 esc, 接着输入 :wq! # 5. 进入mysql服务,执行授权命令 mysql -uroot -p mysql> grant all on *.* to root@'%' identified by '123456' with grant option; mysql> flush privileges; mysql> exit # 6. 重启MySQL服务 sudo /etc/init.d/mysql restart
3.3 Django使用mysql
3.3.1 navicat使用
- 打开navicat 先点击连接, 选择mysql, 配置下数据
- 创建数据库
- 字符集选择 : utf8 – UTF-8 Unicode
- 排序规则选择 : utf8_general_ci
- 新建表, 为id设置主键, 并且设置自动递增, 设置好属性以后, 点击保存
- 填充表的数据
3.3.2 Django配置与使用mysql
-
在settings中 设置 DATABASES :
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'family', # 数据库名字 'USER': 'root', # 用户 'PASSWORD': '.123456glm', # 密码 'HOST': '139.199.81.62', # 主机地址 'PORT': '3306' # 端口 } }
-
在views.py中使用
from django.shortcuts import render from django.http import HttpResponse from django.db import connection # 导入连接方法 def index(request): print(request.GET.get('name')) # 打印get请求的name参数 cursor = connection.cursor() # 定义连接自定义 cursor.execute("select * from person") # 编写自定义sql代码 rows = cursor.fetchall() # 获取返回的数据 rows = list(rows) # 整理数据, 默认返回的是元组 result = [] for key in rows: list_value = list(key) result.append(list_value) print(result) return HttpResponse(result) # 返回所有数据
4 mysql操作
4.1 基础增删改查
# 增加
insert into students(name,age) values('liming',18) # 或者
insert into students set name='龚帅',age=72;
- 添加多个 -
insert into students values('(*  ̄3)(ε ̄ *)',99),('刘诗诗',87),('刘亦菲',76)
# 删除
delete from students where id=7
- 删除全部 -
delete from students
# 修改
update students set name='利明欧巴',age=50 where id=1
- 修改全部 -
update students set name='利明欧巴'
# 查询
- 1. 查询全部 -
select * from students
- 2. 查询某个 -
select name from student where id=1
其中 ( >, <, =, !=, <=, >=) 都可使用
- 3. in - 查询in中集合部分
select * from students where id in (1,2,3)
- 4. between and - 查询中间部分
select * from students where id between 1 and 3 (1到3都有)
- 5. not between and - 查询外部部分
- 6. 空值查询 is -
select * from students where name is null
- 7. 过滤重复 -
select distinct age from students
- 8. like关键字查询
% : 任意字符(通配符)
_ : 单个字符(通配符)
select * from students where name like 'g%'
select * from students where concat(id,username,psw,label,weight) like "%search%"
- 9. and or -
select * from students where name='龚利明' and id=10
- 10 聚合函数
10.1 : count 查询有多少条数据
select count(*) from students
10.2 : sum 该字段的数字总和
select sum(id) from students
10.3 : avg 平均值
10.4 : max 最大值
10.5 : min 最小值
- 11. order by 字段名 [asc | desc] 对查询的字段排序 asc 升序, desc 降序
select * from students order by age asc
- 12. limit 限制查询结果数量 - limit [offset] 几条, offset为偏移数, 不写的话为0 几条是必须写的
select * from students limit 4 : 查询四条数据, offset已经省略
select * from students limit 4,4 : 从第四条数据开始查询四条数据
4.2 中级mysql操作
5 git
5.1 安装git
sudo apt-get install -i https://pypi.doubanio.com/simple/ git
5.2 我的 github 资料
账户 : 13145846564.@163.com
地址 : https://github.com/gongliming-qd/
6 FTP(fileFreeze)
7 xshell
8 开发阶段 外网能访问的配置
-
在settings.py中配置允许外网访问的ip, 或者域名
ALLOWED_HOSTS = ['139.199.81.62'] 或者直接'*'
-
执行启动项目
python manage.py runserver 0:8000
9 uwsgi
9.1 安装
pip install uwsgi
9.2 创建文件
-
在项目根目录下创建
uwsgi.ini
文件 -
并且输入一下内容 :
[uwsgi]
# 使用 nginx 时使用
socket=0.0.0.0:7000
# 直接web服务器使用 python runserver 0:8000
http=0.0.0.0:8000 #(注释这个)
# 项目目录
chdir=/home/ubuntu/all_project/first_one/python_dgango
# 项目中wsgi.py文件的目录, 相对于项目目录
wsgi-file=mysite/wsgi.py
# 指定启动的工作进程数
processes=4
# 指定工作的线程数
threads=2
master=True
# 保存启动之后主进程的pid
pidfile=uwsgi.pid
# 设置uwsgi后台运行, uwsgi保存日志保存
daemonize=uwsgi.log
# 设置虚拟环境的路径
virtualenv=/home/ubuntu/.virtualenvs/glm_django
9.3 启动, 停止
启动:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid
查看进程号:ps -ef|grep uwsgi
查看进程号:ps -aux|grep uwsgi
结束所有进程 killall -s INT uwsgi
10 Nginx
10.1 ubuntu安装
sudo apt-get install nginx
10.2 启动,停止,重启
# 启动
service nginx start
# 关闭
service nginx stop
# 重启
service nginx restart
# 修改文件重启
sudo nginx -s reload
10.3 配置
10.3.1 收集静态文件
# 1. 在 settings.py中指定 STATIC_ROOT
STATIC_ROOT = os.path.join(BASE_DIR, 'static'
本文标签: Django
版权声明:本文标题:Django总结 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1726378145a1084375.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论