一、在码云平台创建项目
版本控制的种类:
- 主要使用github(最主流)
- 国内访问速度慢
- 托管私有项目收费
- 国内一般使用码云gitee
- 国内访问速度快
- 托管私有项目免费
- 公司中使用gitlab或者svn来搭建
创建步骤
a.打开码云 ,注册登录
b.创建public工程
密钥绑定
在虚拟机中生成ssh公钥(一直回车)
在home目录配置公钥
1、 ssh-keygen
使用ls -a 命令可以查询文件
2、 cd .ssh
可以指定标题生成,如果不指定那么默认 pyvip@VIP
ssh-keygen -t rsa -C “[email protected]”
克隆项目到虚拟机中
二、创建虚拟环境
# 如果已经将python改为python3版本,可以直接创建虚拟环境
mkvirtualenv 虚拟环境名字
# 如果未修改python版本,则创建虚拟环境时需要指定python版本
mkvirtualenv 虚拟环境名字 -p python3
创建项目
三、其他配置
修改 settings
文件
1.配置模板文件
在项目根目录新建一个templates文件夹,用于存放模版文件
1.配置模板文件
在项目根目录新建一个templates文件夹,用于存放模版文件。
TEMPLATES 添加一行代码
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.加载数据库配置
首先:安装pymysql,并且需要在settings.py文件所在包中的__init__.py
中导入pymysql
(youkou_env) pyvip@VIP:~$ pip install -i https://pypi.douban.com/simple pymysql
方法一:直接在settings.py文件中添加数据库配置信息。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'NAME': 'myproject', # 数据库名称
'USER': 'xiaohong', # 数据库登录用户名
'PASSWORD': 'xiaohong', # 密码
'HOST': '127.0.0.1', # 数据库主机IP,如保持默认,则为127.0.0.1
'PORT': 3306, # 数据库端口号,如保持默认,则为3306
}
}
方法二:将数据库配置信息存到一个文件中,在settings.py文件中将其引入。(推荐)
新建数据库配置文件my.cnf(名字随意选择)
在项目根目录下创建一个utils的包 然后在utils包中在创建一个dbs目录 dbs目录下创建dbs.cnf文件
[client]
database= myproject
user = xiaohong
password= xiaohong
host=127.0.0.1
port = 3306
default-character-set=utf8
在settings.py文件中引入my.cnf文件
DATABASES = {
# 方法二:
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': 'utils/dbs/my.cnf',
},
}
}
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文件夹,用于存放日志文件
logs目录下创建xiaohong.log文件
#自定义日志
# 在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 = True
USE_L10N = True
# utc 时间
USE_TZ = True
6.修改静态文件配置
在项目根目录中创建一个static目录,用于存放静态文件(css、js、image、font等)
指定static目录为根目录
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 user.email "[email protected]"
# 填写你的用户名 git config user.name "xiaoming"
-
将代码推送至本地仓库(虚拟机中)
# 工作区添加到暂存区 git add .
# 暂存区提交到仓库区,-m为添加注释信息 git commit -m "项目初始化,完成settings中数据库、模板、时区、静态目录指定等。"
-
将代码推送至远程仓库(码云上)
# 将代码推送到远程仓库 git push Username for 'https://gitee.com': Password for 'https://[email protected]':
码云中就出现了,你的本次写的代码。
注意 :安装django版本不能过高
否则报错:
再一次提交项目至码云
第一步:git add .
第二步: git status
第三步:git commit -m "简单的app注册"
第四步: git push origin master
推送项目成功