d码云注册,登录,
创建项目:
生成秘钥
想看秘钥:
添加公钥
复制 ssh 连接
通过 git clone <ssh> 连接
在服务器上创建 python3 虚拟环境,
创建项目 pycharm 连接:
用命令创建项目
一、在码云平台创建项目
版本控制的种类:
-
主要使用github(最主流)
-
国内访问速度慢
-
托管私有项目收费
-
-
国内一般使用码云gitee
-
国内访问速度快
-
托管私有项目免费
-
-
公司中使用gitlab或者svn来搭建
创建步骤
a.打开码云 ,注册登录
b.创建public工程
c.新建项目
d.在虚拟机中生成ssh公钥(一直回车)
pyvip@VIP:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pyvip/.ssh/id_rsa):
将公钥复制下来,粘贴至码云中
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
2、在pycharm中新建项目,取名、添加虚拟机上的虚拟环境
解释器的路径一般为:
/home/pyvip/.virtualenvs/youkou_env/bin/python3.6
添加远程虚拟机上的项目路径:
选择从码云上克隆到虚拟机中的项目路径:
修改Host和端口(如果在阿里云服务器上创建工程,Host设置为0.0.0.0):
设置本地与服务器代码自动同步:
由于没有使用django默认的admin用户认证系统,所以会报错。**
修改settings.py文件,将Host地址添加到ALLOWED_HOSTS列表中。如果为空,只能通过127.0.0.1或者localhost来访问服务器。
大功告成,配置成功!
三、其他配置
修改 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', ], # 将函数内置到模板中 https://docs.djangoproject.com/en/2.1/topics/templates/ 'builtins': ['django.templatetags.static'], }, }, ]
2.配置mysql数据库
a.连接虚拟机中的mysql,使用root用户登录:
mysql -uroot -p
b.创建数据库
mysql> CREATE DATABASE youkou CHARSET=utf8;
Query OK, 0 rows affected (0.13 sec)
c.创建用户
mysql> CREATE USER dj_user IDENTIFIED BY 'pythonvip';
Query OK, 0 rows affected (0.00 sec)
d.用户授权
mysql> GRANT ALL PRIVILEGES ON youkou.* TO 'dj_user'@'%'; mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.20 sec)
e.加载数据库配置
方法一:直接在settings.py文件中添加数据库配置信息。
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', # 数据库引擎'NAME': 'youkou', # 数据库名称 'USER': 'dj_user', # 数据库登录用户名 'PASSWORD': 'pythonvip', # 密码 'HOST': '172.16.32.101', # 数据库主机IP,如保持默认,则为127.0.0.1 'PORT': 3306, # 数据库端口号,如保持默认,则为3306 } }
方法二:将数据库配置信息存到一个文件中,在settings.py文件中将其引入。(推荐)
新建数据库配置文件my.cnf(名字随意选择)
在settings.py文件中引入my.cnf文件
DATABASES = {# 方法二:'default': {'ENGINE': 'django.db.backends.mysql','OPTIONS': { 'read_default_file': 'utils/dbs/my.cnf', }, } }
⚠️mysql数据库配置完成之后,运行django程序会报如下错误,官方推荐安装mysqlclient 1.3.7以上版本,也可以安装pymysql,并且需要在settings.py文件所在包中的__init__.py
中导入pymysql。
方法一:安装mysqlclient,进入到虚拟机执行如下命令:
pyvip@VIP:~$ sudo apt-get update # 更新ubuntu包
pyvip@VIP:~$ sudo apt-get install default-libmysqlclient-dev # 安装依赖
pyvip@VIP:~$ workon youkou_env # 进入到虚拟环境
(youkou_env) pyvip@VIP:~$ pip install -i https://pypi.douban.com/simple mysqlclient
方法二:安装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/dj_youkou.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_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'), # 用于存放静态文件
]
7.创建应用
a.本项目主要由4个模块组成,分别为新闻文章模块、课程视频播放模块、文档下载模块、用户管理模块等。在项目根目录下创建一个apps目录用于存放各个子应用。
# 在虚拟机中,cd进入apps
cd apps
python ../manage.py startapp news1
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', 'news1', ]
四、将项目推送到码云
-
在虚拟机中配置代码推送人身份信息(填写自己的名字和邮箱地址)
# 填写你的邮箱地址 (youkou_env) pyvip@VIP:~/dj_youkou$ git config --global user.email "myemail@163.com"
# 填写你的用户名 (youkou_env) pyvip@VIP:~/dj_youkou$ git config --global user.name "Youkou"
-
将代码推送至本地仓库(虚拟机中)
# 工作区添加到暂存区 (youkou_env) pyvip@VIP:~/dj_youkou$ git add .
# 暂存区提交到仓库区,-m为添加注释信息 (youkou_env) pyvip@VIP:~/dj_youkou$ git commit -m "项目初始化,完成settings中数据库、模板、时区、静态目录指定等。"
-
将代码推送至远程仓库(码云上)
# 将代码推送到远程仓库 (youkou_env) pyvip@VIP:~/dj_youkou$ git push
码云中就出现了,你的本次写的代码。
push gitee
###五、作业
-
-
项目环境搭建好,把运行结果截图上传
-
将代码推送到码云,将截图删除
-
记第下一天的5个英语单词
-