zoukankan      html  css  js  c++  java
  • 潭州课堂25班:Ph201805201 django 项目 第三课 码云注册,django项目 (课堂笔记)

    d码云注册,登录,

    创建项目:

     

     

     

     生成秘钥

     想看秘钥:

     添加公钥

     

    复制 ssh 连接

     通过  git clone <ssh> 连接

    在服务器上创建 python3 虚拟环境,

     

    创建项目  pycharm  连接:

    用命令创建项目

     

    一、在码云平台创建项目

     

    版本控制的种类:

    • 主要使用github(最主流)

      • 国内访问速度慢

      • 托管私有项目收费

    • 国内一般使用码云gitee

      • 国内访问速度快

      • 托管私有项目免费

    • 公司中使用gitlab或者svn来搭建

     

    创建步骤

     

     a.打开码云 ,注册登录

     

     b.创建public工程

     

     创建项目

     

     c.新建项目

     

     

    gitee_create_project2

    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版本
    # 系统中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中新建项目,取名、添加虚拟机上的虚拟环境

     

     

    项目取名

    项目取名
     

     

    添加SSH服务器

    添加SSH服务器
     

     

    添加SSH密码

    添加SSH密码
     

     

    添加解释器目录

    添加解释器目录
     

    解释器的路径一般为:

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

     

    解释器路径

    解释器路径
     

    添加远程虚拟机上的项目路径:

     

     

    添加远程项目路径

    添加远程项目路径
     

    选择从码云上克隆到虚拟机中的项目路径:

     

     

    指定项目路径

    指定项目路径
     

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

     

     

    修改Host和端口

    修改Host和端口
     

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

     

     

    click confifguration

    click confifguration
     

     

    set_default_server

    set_default_server
     

     

    click options

    click options
     

     

    auto upload

    auto upload
     

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

     

     

    admin error

    admin error
     

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

     

     

    修改ALLOWS_HOST

    修改ALLOWS_HOST
     

    大功告成,配置成功!

     

     

    success

    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 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(名字随意选择)

     

     

    创建my.cnf

    创建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。

     

     

    error mysqlclient

    error mysqlclient
     

    方法一:安装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
    
     

     

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

     

     

    add source root

    add source 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

      push gitee
     

    ###五、作业

      1. 项目环境搭建好,把运行结果截图上传

      2. 将代码推送到码云,将截图删除

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

  • 相关阅读:
    Adobe Photoshop CC 2017-18.0安装教程
    Adobe After Effects 2017-14.0安装教程
    Qt之新手打包发布程序
    Qt之添加图标
    突然好想你
    设计模式—桥接
    设计模式—适配器
    设计模式—原型(附带介绍浅拷贝和深拷贝)
    设计模式—抽象工厂
    框架设计——MVC IOC
  • 原文地址:https://www.cnblogs.com/gdwz922/p/10036353.html
Copyright © 2011-2022 走看看