django项目环境搭建
项目环境搭建
在github上创建项目
官网: https://github.com/
- 点击new 新建项目
- 公钥绑定
- 使用 git clone 项目到本地
一、在码云平台创建项目
版本控制的种类:
- 主要使用github(最主流)
- 国内访问速度慢
- 托管私有项目收费
- 国内一般使用码云gitee
- 国内访问速度快
- 托管私有项目免费
- 公司中使用gitlab或者svn来搭建
创建步骤
a.打开码云 ,注册登录
b.创建public工程
c.新建项目
d.在虚拟机中生成ssh公钥(一直回车)
# 在home目录配置公钥1、 ssh-keygen
使用ls -a 命令可以查询文件
2、 cd .ssh可以指定标题生成,如果不指定那么默认 pyvip@VIP
ssh-keygen -t rsa -C "python@admin.com"
将公钥复制下来,粘贴至码云中
1, 公钥生成
2,复制公钥到码云平台进行关系绑定
3, 公钥配置到码云
e.克隆项目到本地
复制SSH链接
克隆项目到虚拟机中
###二、创建虚拟环境
1、在虚拟机上新建虚拟环境
# 查询系统本系统中安装的python版本
ls -l /usr/bin/python*
# 系统中python默认版本为python2.7,可以将其修改为python3
# 第一步:先删除python
rm -rf /usr/bin/python
# 第二步:创建软链接
ln -s /usr/bin/python3 /usr/bin/python
# 第三步:查看python版本是否修改为python3
python -V
# 如果已经将python改为python3版本,可以直接创建虚拟环境
mkvirtualenv 虚拟环境名字
# 如果未修改python版本,则创建虚拟环境时需要指定python版本
mkvirtualenv 虚拟环境名字 -p python3
三、其他配置
修改 settings
文件
1.配置模板文件
在项目根目录新建一个templates文件夹,用于存放模版文件。
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, 'templates')],'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],'builtins': ['django.templatetags.static'],},},
]
2.配置mysql数据库
a.连接虚拟机中的mysql,使用root用户登录:
mysql -uroot -p
b.创建数据库
mysql> CREATE DATABASE mysite CHARSET=utf8;
Query OK, 0 rows affected (0.13 sec)
c.创建用户
# 新建 用户 密码
mysql>create user xiaohong identified by 'xiaohong';
Query OK, 0 rows affected (0.00 sec)
d.用户授权
# 赋予小红某库的所有权限 库 后面是账号
mysql> grant all on mysite.* to 'xiaohong'@'%';
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.20 sec)
e.加载数据库配置
方法一:直接在settings.py文件中添加数据库配置信息。
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', # 数据库引擎'NAME': 'mysite', # 数据库名称'USER': 'xiaohong', # 数据库登录用户名'PASSWORD': 'xiaohong', # 密码'HOST': '192.168.216.137', # 数据库主机IP,如保持默认,则为127.0.0.1'PORT': 3306, # 数据库端口号,如保持默认,则为3306}
}
方法二:将数据库配置信息存到一个文件中,在settings.py文件中将其引入。(推荐)
新建数据库配置文件my.cnf(名字随意选择)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8nx7hd0M-1584179770933)(…/images/db_cnf.jpg)]
在settings.py文件中引入my.cnf文件
DATABASES = {# 方法二:'default': {'ENGINE': 'django.db.backends.mysql','OPTIONS': {'read_default_file': 'utils/dbs/my.cnf',},}
}
方法二:安装pymysql,并且需要在settings.py文件所在包中的__init__.py
中导入pymysql
(youkou_env) pyvip@VIP:~$ pip install -i https://pypi.douban.com/simple pymysql
3.配置redis缓存
用于存放用户session信息、短信验证码以及图片验证码信息等。
# 在虚拟机中安装django-redis
pip install -i https://pypi.douban.com/simple django-redis
# 在settings.py文件中指定redis配置
CACHES = {"default": {"BACKEND": "django_redis.cache.RedisCache","LOCATION": "redis://127.0.0.1:6379/0","OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient",}},
}
4.配置日志器
用于记录系统运行过程中的各种日志信息。
在项目根目录中创建一个logs文件夹,用于存放日志文件
# 在setting.py文件中加入如下配置:
# 配置日志器,记录网站的日志信息
LOGGING = {# 版本'version': 1,# 是否禁用已存在的日志器'disable_existing_loggers': False,'formatters': {'verbose': {'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'},'simple': {'format': '%(levelname)s %(module)s %(lineno)d %(message)s'},},'filters': {'require_debug_true': {'()': 'django.utils.log.RequireDebugTrue',},},'handlers': {'console': {'level': 'DEBUG','filters': ['require_debug_true'],'class': 'logging.StreamHandler','formatter': 'simple'},'file': {'level': 'INFO','class': 'logging.handlers.RotatingFileHandler','filename': os.path.join(BASE_DIR, "logs/xiaohong.log"), # 日志文件的位置'maxBytes': 300 * 1024 * 1024,'backupCount': 10,'formatter': 'verbose'},},'loggers': {'django': { # 定义了一个名为django的日志器'handlers': ['console', 'file'],'propagate': True,'level': 'INFO', # 日志器接收的最低日志级别},}
}
5.时区配置
# 修改语言
LANGUAGE_CODE = 'zh-hans'
# 修改时区
TIME_ZONE = 'Asia/Shanghai'USE_I18N = TrueUSE_L10N = True
# utc 时间
USE_TZ = True
6.修改静态文件配置
在项目根目录中创建一个static目录,用于存放静态文件(css、js、image、font等)
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'), # 用于存放静态文件
]
7.创建应用
a.本项目主要由4个模块组成,分别为新闻文章模块、课程视频播放模块、文档下载模块、用户管理模块等。在项目根目录下创建一个apps目录用于存放各个子应用。
# 在虚拟机中,cd进入apps
cd apps
python ../manage.py startapp news
python ../manage.py startapp course
python ../manage.py startapp doc
python ../manage.py startapp users
b.在settings.py文件中,加入如下配置
import sys# 创建应用之后,把apps目录加入到sys.path中
sys.path.insert(0, BASE_DIR)
sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))
c.分别在apps文件夹和项目根目录文件夹上右击,加入到Sources Root根中,优化导入路径。
d.将应用加入到INSTALLED_APPS列表中
INSTALLED_APPS = [# ...'users', # 将应用加入到INSTALLED_APPS列表中'course','doc','news',
]
四、将项目推送到码云
在虚拟机中配置代码推送人身份信息(填写自己的名字和邮箱地址)
# 填写你的邮箱地址 git config --global user.email "xiaoming@admin.com"
# 填写你的用户名 git config --global user.name "xiaoming"
将代码推送至本地仓库(虚拟机中)
# 工作区添加到暂存区 git add .
# 暂存区提交到仓库区,-m为添加注释信息 git commit -m "项目初始化,完成settings中数据库、模板、时区、静态目录指定等。"
将代码推送至远程仓库(码云上)
# 将代码推送到远程仓库 git pushUsername for 'https://gitee.com': Password for 'https://tzjy123456@gitee.com':
码云中就出现了,你的本次写的代码。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tpPz4qnF-1584179770934)(C:\Users\灰太狼大哥\Desktop\django项目课件\images\推送成功.png)]
安装MySQL
#命令1
sudo apt-get update
#命令2
sudo apt-get install mysql-server
#命令3
sudo apt install mysql-client
#命令4
sudo apt install libmysqlclient-dev
#检查是否安装成功
sudo netstat -tap | grep mysql
设置mysql允许远程访问,首先编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf:编辑配置文件就输入命令
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
进入配置文件后
1、注释掉bind-address = 127.0.0.1:
或者bind-address = 0.0.0.0
安装mysql未提示输入密码,安装后修改mysql密码默认密码
mysql默认密码为空
但是使用mysql -uroot -p 命令连接mysql时,报错
ERROR 1045 (28000): Access denied for user ‘root’@'localhost’
此时修改root的默认密码即可
1.进入到etc/mysql 目录下,查看debian.cnf文件
sudo vim /etc/mysql/debian.cnf
2.找到用户名,密码 ,使用此账号登录mysql
用户名:debian-sys-maint
密码:xedvSNKdLavjuEWV
mysql -udebian-sys-maint -pxedvSNKdLavjuEWV
3.修改root用户的的密码
这里是关键点,由于mysql5.7没有password字段,密码存储在authentication_string字段中,password()方法还能用
在mysql中执行下面语句修改密码
show databases;
use mysql;
update user set authentication_string=PASSWORD(“自定义密码”) where user=‘root’;
update user set plugin=“mysql_native_password”;
flush privileges;
quit;
4.修改完密码,需要重启mysql
/etc/init.d/mysql restart;
再次登录
mysql -u root -p 密码;(mysql -u root -pnoah0567)
Redis安装
在线安装
直接输入命令 sudo apt-get install redis-server
安装完成后,Redis服务器会自动启动。
使用ps -aux|grep redis
命令可以看到服务器系统进程默认端口6379
下载安装包:
下载:打开redis官方网站,推荐下载稳定版本(stable)
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
解压tar xzf redis-5.0.5.tar.gz
复制:推荐放到usr/local目录下sudo mv redis-5.0.5 /usr/local/redis
进入redis目录 cd /usr/local/redis/
生成:sudo make失败则 使用 sudo make MALLOC=libc后再sudo make
测试 sudo make test 这段运行时间会较长
安装:将redis的命令安装到/usr/bin/目录sudo make install
运行 redis-server 按ctrl+c停止
Redis服务器基本配置
配置文件为/etc/redis/redis.conf(在线安装推荐)或者 /usr/local/redis/redis.conf(手动安装)
首先sudo vi /etc/redis/redis.conf
添加Redis的访问账号
Redis服务器默认是不需要密码的,假设设置密码为hzlarm。
去掉requirepass 前面的注释#,在后面添加密码
requirepass hzlarm
开启Redis的远程连接
注释掉绑定地址#bind 127.0.0.1
修改Redis的默认端口
port 6379
Redis以守护进程运行
如果以守护进程运行,则不会在命令行阻塞,类似于服务
如果以非守护进程运行,则当前终端被阻塞,无法使用
推荐改为yes,以守护进程运行
daemonize no|yes
Redis的数据文件
dbfilename dump.rdb
数据文件存储路径
dir /var/lib/redis
配置完成后重新启动服务器
sudo /etc/init.d/redis-server restart or
sudo service redis-server restart or
sudo redis-server /etc/redis/redis.conf
Redis安装 配置服务器 启动客户端 数据操作 发布订阅 主从配置 卸载Redis
启动客户端
安装Redis服务器,会自动地一起安装Redis命令行客户端程序。命令行输入 redis-cli 如果设置了密码hzlarmredis-cli -a hzlarm
常用命令: Redis命令不区分大小写
ping返回PONG表示畅通
help 命令行的帮助
quit 或者Ctrl+d或者Ctrl+c退出
配置django开发环境
目标:从0开始点燃django小火箭
本篇文章分五个部分
第一部分:Xshell连接
第二部分:修改python版本
第三部分:重装pip
第四部分:配置虚拟环境
第五部分:用集成开发环境点燃小火箭
打开一个船新的阿里云服务器
第一部分:Xshell连接
打开Xshell进行连接(不用Xshell也可以)
-----------------------------------------------Xshell连接开始---------------------------------------
新建一个会话
输入名称,主机端口后点确认。(主机端口可以在阿里云实例后台找到)
输入用户名
连接成功
-----------------------------------------Xshell连接结束------------------------------------
第二部分:修改python版本
首先,系统中python默认版本为python2.7,可以将其修改为python3
# 第一步:先删除python2
rm -rf /usr/bin/python
# 第二步:创建软链接
ln -s /usr/bin/python3 /usr/bin/python
# 第三步:查看python版本是否修改为python3
python -V
执行完这三部之后,我们可以看到,python默认的已经是3.6的版本了
但是这个时候,原本文件里的pip没了,我们输入pip list,会发现报错
但是这个时候,原本文件里的pip没了,我们输入pip list,会发现报错
第三部分:重装pip
此时,我们先更新apt,然后通过apt下载pip
# 更新apt
sudo apt update
# 第二步:下载pip
sudo apt install python3-pip
第四部分:配置虚拟环境
接下来安装虚拟环境(虚拟环境是为了是各个django之间的版本不冲突)
首先通过pip下载mkvirtualenv
sudo pip install virtualenv
sudo pip install virtualenvwrapper
安装完之后还要配置一些东西
# 进入根目录
cd~/
# 查看隐藏文件
ls -a
# 打开其中的.bashrc文件
vim .bashrc
按i,进入写入模式
在末尾添加这两行代码,然后保存退出(:wq)
export WORKON_HOME=~/.environments
source /usr/local/bin/virtualenvwrapper.sh
最后加载.bashrc文件
source ~/.bashrc
然后输入mkvirtualenv 你的虚拟环境名字 ,创建虚拟环境成功
输入
# 版本看个人需求
pip install django==2.1.4
第五部分:用集成开发环境点燃小火箭
打开你喜欢的集成开发环境,这里拿pycharm举例
新建项目
同步一下
配置启动程序
大功告成
django项目环境搭建相关推荐
- pyCharm 社区版搭建Django项目环境
pyCharm 社区版搭建Django项目环境 文章目录 pyCharm 社区版搭建Django项目环境 前言 1.安装Django 2.创建Django Demo 项目 3. 创建应用: 4.启动 ...
- 美多后台管理和项目环境搭建
美多后台管理 Django框架已经提供了一个Admin管理后台,但是Admin的本身的页面可修改的页面布局效果比较少,无法满足公司定制页面需求,这时候就需要独立开发一套后台管理系统,满足公司对后台数据 ...
- Django+Vue环境搭建
一.Django环境 1.下载Django pip install django 2.创建Django项目 django-admin startproject server #server 为项目 ...
- linux基本项目环境搭建
文章目录 linux基本项目环境搭建 java环境搭建 获取java源码包 解压 配置环境变量 使配置文件生效 验证 nginx安装 下载(java也可用此方法下载) 解压 配置(configure) ...
- django开发环境搭建
django开发环境搭建 1.下载所需要的安装包 pycharm python3.7.9 2.安装pycharm python环境 3.Windows 安装mkvirtualenv虚拟python环境 ...
- 企业实战(2) 项目环境搭建之Tomcat部署
前言: Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说, ...
- [Django项目案例]搭建用户与商品后台管理系统
[Django项目案例]搭建用户与商品后台管理系统 1 搭建流程 1.1 创建Django项目 1.2 配置数据库 1.3 创建app并载入Settings 1.4 配置时区与静态文件夹 1.5 定义 ...
- Vue项目实战之人力资源平台系统(一)框架介绍及项目环境搭建
前言 目录 前言 一.vue-element-admin简介 二.项目环境搭建 2.1 nodejs环境 2.2 git版本控制 2.3 vscode编辑器 三.拉取vue-element-admin ...
- 云服务器部署项目环境搭建
云服务器部署项目环境搭建 这里以阿里云为例: 一.安装JavaJDK 指令: yum -y install java-1.8.0-openjdk* 二.下载部署TomCat 去TomCat官网下载:T ...
最新文章
- 【Luogu】P3224永无乡(splay)
- 张槎地铁站定位综合枢纽 与多条重要轨道交汇
- 17、MySQL创建,执行事件
- python模拟app抢票_python并发编程多进程 模拟抢票实现过程
- 限流算法(记录cyc大佬的专栏)
- 大话数据结构——算法
- js ‘use strict’详解
- 2.2 基本算法之递归和自调用函数 8758 2的幂次方表示 python
- siesta在Linux运行,siesta-3.0-b
- pythontk多线程_把python程序变成多线程
- echarts 动态设置标题_echart动态生成标题
- 镇定的反义词是什么,标准答案是
- 问题四十五:怎么画ray tracing图形中的blending and joining surface
- 大理大学日常作业计算机基础知识,大理学院成人高等教育大学计算机基础课程作业.doc...
- 14_python_练习题——excel操作
- 遍历Map集合的四种方式
- 模拟退火算法介绍和实例实现
- java knn kd树_KD树实现KNN
- umts是移动还是联通_WCDMA/GSM是什么意思 是电信移动还是联通
- YOLOV5 网络模块解析