本文转载自: https://blog.csdn.net/xiaogeldx/article/details/89038299

在码云平台创建项目

版本控制的种类

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

创建步骤

创建虚拟环境

  • 查询系统本系统中安装的Python版本

    ls -l /usr/bin/python*

  • 创建虚拟环境时需要指定Python版本

    virtualenv -p python3.6 django_web

  • 进入虚拟环境,安装django(目前最新版本2.2,此次安装2.1.7版本)

    source activate
    pip install django2.1.7
    ![在这里插入图片描述]( https://img-blog.csdnimg.cn/20190405094410978.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9nZWxkeA
    ,size_16,color_FFFFFF,t_70)

pycharm配置(django)

  • 复制粘贴以前的贴,步骤一样,图片和内容与本次项目不符
  1. 配置解释器(默认已在云服务器创建好django项目:stu_sys)
    创建项目-Create New Project
    ![在这里插入图片描述]( https://img-blog.csdnimg.cn/20190312202758565.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9nZWxkeA,size_16,color_FFFFFF,t_70)
    Location位置创建本地的项目文件夹
    选择Interpreter的最右边的...,配置解释器
    ![在这里插入图片描述]( https://img-blog.csdnimg.cn/20190312203124560.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9nZWxkeA
    ,size_16,color_FFFFFF,t_70)
    2. 配置远程服务器
    填云服务器的ip,用户名和密码
    ![在这里插入图片描述]( https://img-blog.csdnimg.cn/20190312203433434.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9nZWxkeA,size_16,color_FFFFFF,t_70)
    选择远程的解释器
    ![在这里插入图片描述]( https://img-blog.csdnimg.cn/20190312203612564.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9nZWxkeA
    ,size_16,color_FFFFFF,t_70)
    在Remote project location选择远程的项目文件夹,点创建
    ![在这里插入图片描述]( https://img-blog.csdnimg.cn/20190312203705294.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9nZWxkeA,size_16,color_FFFFFF,t_70)
    配置代码同步,File的Settings的Deployment,填上ip,端口号,用户名,密码,然后Test Connection连接测试,成功后选择Root path:远程项目的文件夹(或者把Mappings的Deployment path的地址剪切过来)
    ![在这里插入图片描述]( https://img-blog.csdnimg.cn/20190312203934901.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9nZWxkeA
    ,size_16,color_FFFFFF,t_70)
    Mappings的Deployment path的路径为/
    ![在这里插入图片描述]( https://img-blog.csdnimg.cn/201903122039474.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9nZWxkeA,size_16,color_FFFFFF,t_70)
    Deployment的Options的Upload changed选Always,一直自动上传![在这里插入图片描述]( https://img-blog.csdnimg.cn/20190312203957623.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9nZWxkeA
    ,size_16,color_FFFFFF,t_70)
    选择编辑器右上角的Edit Configuration的按钮
    点击添加Django server
    改Host为0.0.0.0,表示的是允许连接服务器的IP #方便调试,使用什么ip都能访问到
    点击Environment Variables项后面的…
    将DJANGO_SETTINGS_MODULE添加到Name,将项目名.settings添加到Value
    在apply按钮上有可能fix有红灯标志,点进去
    ![在这里插入图片描述]( https://img-blog.csdnimg.cn/20190312204007691.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9nZWxkeA,size_16,color_FFFFFF,t_70)
    把Enable Django Support勾选上,Django project root行点文件夹标志,选上根目录,Settings行点文件夹标志,选上根目录下的settings.py文件![在这里插入图片描述]( https://img-blog.csdnimg.cn/20190312204017762.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9nZWxkeA
    ,size_16,color_FFFFFF,t_70)

git和github

git安装配置

  • Linux安装

    apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
    apt-get install git
    git --version #查看版本

  • 配置用户

    git config --global user.name 用户名
    git config --global user.email 邮箱

  • 查看配置信息

    git config --list

github

pycharm配置git和github

项目创建和配置

  • 新建项目的命令:django-admin startproject projectname

开发服务器

  1. 将settings.py文件中的ALLOWED_HOSTS = 改为ALLOWED_HOSTS = ["*"]
  2. Linux虚拟机网络连接方式是nat端口转发时,需要设置http服务8000端口的转发

开启服务器

  • 方式一(不常用):
    命令行模式:
    在项目的根目录下执行命令
    python manage.py runserver 0.0.0.0:8000 #0.0.0.0可以简写为0
  • 方式二(常用):
    1. 选择编辑器右上角的Edit Configuration的按钮
    2. 点击添加Django server
    3. 改Host为0.0.0.0,表示的是允许连接服务器的IP #方便调试,使用什么ip都能访问到
    4. 点击Environment Variables项后面的...
    5. 将DJANGO_SETTINGS_MODULE添加到Name,将项目名.settings添加到Value
    6. 在apply按钮上有可能fix有红灯标志,点进去,把Enable Django Support勾选上,Django project root行点文件夹标志,选上根目录,Settings行点文件夹标志,选上根目录下的settings.py文件
      ![在这里插入图片描述]( https://img-blog.csdnimg.cn/20190215232150110.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9nZWxkeA==,size_16,color_FFFFFF,t_70)

访问服务器

  1. 当用其中的一种方式开启了服务后,打开浏览器
  2. 在地址栏输入IP地址和服务的端口号
  3. 可以看到服务正在运行的页面
    ![在这里插入图片描述]( https://img-blog.csdnimg.cn/20190215232620286.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9nZWxkeA==,size_16,color_FFFFFF,t_70)
  • 需要注意的点:
    • IP:
      • 在终端用命令ifconfig查看IP,注意网络连接方式
      • 虚拟机的端口转发时使用的是127.0.0.1回环地址
    • port
      • 远程连接ssh服务的端口号是22
      • http服务端口号8000/8080
      • MySQL服务的端口号3306

其他配置

修改 settings 文件

配置模板文件

  • 在项目根目录新建一个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'],
        },
    },
]

配置mysql数据库

  • 连接虚拟机中的mysql,使用root用户登录:
mysql -uroot -p
  • 创建数据库
mysql> CREATE DATABASE web_prv CHARSET=utf8;
Query OK, 0 rows affected (0.13 sec)
  • 创建用户
mysql> CREATE USER root IDENTIFIED BY 'xxxx';
Query OK, 0 rows affected (0.00 sec)
  • 用户授权
mysql> GRANT ALL PRIVILEGES ON web_prv.* TO 'root'@'%';
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.20 sec)
  • 加载数据库配置
    • 方法一:直接在settings.py文件中添加数据库配置信息
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',   # 数据库引擎
        'NAME': 'web_prv',                       # 数据库名称
        'USER': 'root',                      # 数据库登录用户名
        'PASSWORD': 'xxxx',                # 密码
        'HOST': 'x.x.x.x',                # 数据库主机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',
        },
    }
}
  • 在项目根目录新建utils文件夹,用于存放一些配置,在utils文件夹下新建dbs文件夹(存放数据库配置),在dbs文件夹下新建my.cnf文件

  • my.cnf

    [client]
    database = web_prv
    user = root
    password = xxxx
    host = x.x.x.x
    post = 3306
    default-character-set = utf8

  • 安装pymysql,并且需要在settings.py文件所在包中的__init__.py中导入pymysql

pip install -i https://pypi.douban.com/simple pymysql

![在这里插入图片描述]( https://img-blog.csdnimg.cn/20190410232730736.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9nZWxkeA==,size_16,color_FFFFFF,t_70)

配置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://106.13.131.178:6379/0",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    },
    #这样的库可以建多个,除了名字和路径不同,其他一样
    # "verity_codes": {
    #     "BACKEND": "django_redis.cache.RedisCache",
    #     "LOCATION": "redis://106.13.131.178:6379/1",
    #     "OPTIONS": {
    #         "CLIENT_CLASS": "django_redis.client.DefaultClient",
    #     }
    # } 
}

配置日志器

  • 用于记录系统运行过程中的各种日志信息

  • 在项目根目录中创建一个logs文件夹,用于存放日志文件,并在文件夹下新建__init__.py文件,使其变成Python的包用于导入

  • 新建web_prv.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/web_prv.log"), # 日志文件的位置
    'maxBytes': 300 * 1024 * 1024,
    'backupCount': 10,
    'formatter': 'verbose'
    },
    },
    'loggers': {
    'django': { # 定义了一个名为django的日志器
    'handlers': ['console', 'file'],
    'propagate': True,
    'level': 'INFO', # 日志器接收的最低日志级别
    },
    }
    }

时区配置

# 修改语言
LANGUAGE_CODE = 'zh-hans'
# 修改时区
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
# utc 时间
USE_TZ = True

修改静态文件配置

  • 在项目根目录中创建一个static目录,用于存放静态文件(css、js、image、font等)
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),	# 用于存放静态文件
]

创建应用

  • 本项目主要由4个模块组成,分别为新闻文章模块、课程视频播放模块、文档下载模块、用户管理模块等
  • 在项目根目录下创建一个apps目录用于存放各个子应用
# 在Ubuntu中,cd到项目根目录
cd apps
python manage.py startapp news1
python manage.py startapp course
python manage.py startapp doc
python manage.py startapp users
  • 或者用这种方法也可以创建app
  • 创建python的包apps,将创建的app拖到apps中
  • 在settings.py文件中,加入如下配置
import sys
# 创建应用之后,把apps目录加入到sys.path中
#使apps可以进行查找
sys.path.insert(0, BASE_DIR)
sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))
  • 分别在apps文件夹和项目根目录文件夹上右击,加入到Sources Root根中,优化导入路径。
  • 将应用加入到INSTALLED_APPS列表中
INSTALLED_APPS = [
    # ...
    'users',  # 将应用加入到INSTALLED_APPS列表中
    'course',
    'doc',
    'news',
]
  • 将apps设置为可查找
    • apps右键-->Mark Directory as Sources Root

将项目推送到码云

  • 在虚拟机中配置代码推送人身份信息(填写自己的名字和邮箱地址)
    # 填写你的邮箱地址
    (tk_dj) pyvip@VIP:~/TK19_3/tk_dj/.git$ git config --global user.email "xxx@qq.com"
    
    # 填写你的用户名
    (tk_dj) pyvip@VIP:~/TK19_3/tk_dj/.git$ git config --global user.name "xiaogeldx"
    
  • 将代码推送至本地仓库(虚拟机中)
    # 工作区添加到暂存区
    (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
    
  • 码云中就出现了,你的本次写的代码
posted on 2019-04-11 08:12  小哥东  阅读(392)  评论(0)    收藏  举报