01_2项目环境搭建

项目环境搭建

一、在码云平台创建项目

版本控制的种类:

  • 主要使用github(最主流)
    • 国内访问速度慢
    • 托管私有项目收费
  • 国内一般使用码云gitee
    • 国内访问速度快
    • 托管私有项目免费
  • 公司中使用gitlab或者svn来搭建
创建步骤

a.打开码云 ,注册登录

b.创建public工程

创建项目

c.新建项目

gitee_create_project2

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版本

# 如果已经将python改为python3版本,可以直接创建虚拟环境
mkvirtualenv 虚拟环境名字
# 如果未修改python版本,则创建虚拟环境时需要指定python版本
mkvirtualenv -p python3  虚拟环境名字 

2、在pycharm中新建项目,取名、添加虚拟机上的虚拟环境

项目取名

添加SSH服务器

添加SSH密码

添加解释器目录

解释器的路径一般为:

/home/pyvip/.virtualenvs/tk_dj/bin/python3.6

修改Host和端口(如果在阿里云服务器上创建工程,Host设置为0.0.0.0):

修改Host和端口

设置本地与服务器代码自动同步:

click confifguration

由于没有使用django默认的admin用户认证系统,所以会报错。

admin error

修改settings.py文件,将Host地址添加到ALLOWED_HOSTS列表中。如果为空,只能通过127.0.0.1或者localhost来访问服务器。

修改ALLOWS_HOST

大功告成,配置成功!

success

三、其他配置

修改 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 tk_dj 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 tk_dj.* 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': 'tk_dj',                       # 数据库名称
        'USER': 'dj_user',                      # 数据库登录用户名
        'PASSWORD': 'pythonvip',                # 密码
        'HOST': '127.0.0.1',                # 数据库主机IP,如保持默认,则为127.0.0.1
        'PORT': 3306,                           # 数据库端口号,如保持默认,则为3306
    }
}

方法二:将数据库配置信息存到一个文件中,在settings.py文件中将其引入。(推荐)

​ 新建数据库配置文件my.cnf(名字随意选择)

创建my.cnf

​ 在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

import 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_taka.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根中,优化导入路径。

add source root

​ d.将应用加入到INSTALLED_APPS列表中

INSTALLED_APPS = [
    # ...
    
    'users',  # 将应用加入到INSTALLED_APPS列表中
    'course',
    'doc',
    'news1',
]

四、将项目推送到码云

  • 在虚拟机中配置代码推送人身份信息(填写自己的名字和邮箱地址)

    # 填写你的邮箱地址
    (tk_dj) pyvip@VIP:~/TK19_3/tk_dj/.git$ git config --global user.email "taka@admin.com"
    
    # 填写你的用户名
    (tk_dj) pyvip@VIP:~/TK19_3/tk_dj/.git$ git config --global user.name "taka"
    
  • 将代码推送至本地仓库(虚拟机中)

    # 工作区添加到暂存区
    (tk_dj) pyvip@VIP:~/TK19_3/tk_dj$ git add .
    
    # 暂存区提交到仓库区,-m为添加注释信息
    (tk_dj) pyvip@VIP:~/TK19_3/tk_dj$ git commit -m "项目初始化,完成settings中数据库、模板、时区、静态目录指定等。"
    
  • 将代码推送至远程仓库(码云上)

    # 将代码推送到远程仓库
    (tk_dj) pyvip@VIP:~/TK19_3/tk_dj$ git push
    

    码云中就出现了,你的本次写的代码。

    push gitee

###五、作业

  1. 项目环境搭建好.

  2. 课后了解git, github, 码云.

  3. 记第下一天的5个英语单词

    5,6,7 放假, 留言, 群聊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值