django项目远程环境搭建(全)

一. 创建Django项目

  • 1 创建虚拟环境

在虚拟机或者云服务器输入以下命令:

mkvirtualenv -p /usr/bin/python3.6 项目名称

如果没有mkvirtualenv这个命令,那么需要安装,在ubuntu中输入命令:

sudo apt-get install virtualenvwrapper

如果是windows系统,请参考我的另一篇文章:
windows下创建python虚拟环境

  • 2 创建django项目

    • 2.1 安装django模块
    pip install django==2.1.10
    

    目前django最新版本为2.2,但是不是特别稳定,所以我们用2.1 版本

    • 2.2 创建django项目
    # 先创建一个存放项目的文件夹
    mkdir project  
    # 用cd命令进入文件夹
    cd project/   
    # 创建项目
    django-admin startproject 项目名称
    
  • 3 pycharm远程连接

    • 因为我们开发写代码时还是比较习惯用windows系统的,所以我们在windows下载pycharm软件进行远程连接服务器或者虚拟机
    • pycharm非常友好,非常好用,打开的时候有点慢,因为其功能太强大了,不过学习python的新手建议用python自带的编辑器
    • pycharm下载地址
    • 下载后打开pycharm选择create new project:
    • 3.1 选择项目目录,
      选择你要存放项目文件的目录,注意django项目和pycharm项目的根目录一定要保持一致,不要用一个pycharm的项目,管理多个django项目django项目远程环境搭建(全)_第1张图片
    • 3.2 配置远程解释器
      配置上你第一步创建的虚拟环境解释器
      django项目远程环境搭建(全)_第2张图片
      django项目远程环境搭建(全)_第3张图片
      端口映射: 虚拟机的ip用Vmware进行映射到本地,我们就可以用本地的ip地址和端口来连接远程
      如果不会映射直接填虚拟机的ip地址或者云服务器公网ip即可
      django项目远程环境搭建(全)_第4张图片
      下一步选择解释器
      我们创建的虚拟环境解释器在你虚拟机或云服务器的用户路径下(即你登录进去的路径)的 .virtualenvs/虚拟环境名/bin/python3.6
      django项目远程环境搭建(全)_第5张图片
    • 3.3 配置远程项目路径
      django项目远程环境搭建(全)_第6张图片
      配置到这里点击create会创建出界面
      3.4 设置同步配置
      django项目远程环境搭建(全)_第7张图片
      django项目远程环境搭建(全)_第8张图片
      如果没有上面这个界面,点击左上角的加号创建一个SFTP类型就行了

    django项目远程环境搭建(全)_第9张图片django项目远程环境搭建(全)_第10张图片
    django项目远程环境搭建(全)_第11张图片

django项目远程环境搭建(全)_第12张图片
django项目远程环境搭建(全)_第13张图片
django项目远程环境搭建(全)_第14张图片
django项目远程环境搭建(全)_第15张图片
django项目远程环境搭建(全)_第16张图片
django项目远程环境搭建(全)_第17张图片

  • 3.4 pycharm启动项目
  • 代码下载后,就需要将在pycharm中将项目配置成django项目,以便使用pycharm的各种便捷提示功能。django项目远程环境搭建(全)_第18张图片
    django项目远程环境搭建(全)_第19张图片
    django项目远程环境搭建(全)_第20张图片
    django项目远程环境搭建(全)_第21张图片
    django项目远程环境搭建(全)_第22张图片
  • 3.5 打开浏览器,输入127.0.0.1:8000 回车即可访问到我们自己的网站
    django项目远程环境搭建(全)_第23张图片

二. django项目配置

  • 1. 配置模板文件

    • 在项目根目录下创建templates文件夹
    • 打开项目目录下的setttings文件,修改以下内容
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',
            ],
        },
    },
]
  • 2 配置mysql数据库

    • 在ubuntu中执行一下命令:进入数据库
    mysql -u root -p 密码
    
    • 1.创建用户
    mysql> greate user 'dj_user'@'%' identified by '密码';
    Query OK, 1 row affected (0.00 sec)
    
    • 2.赋予权限
    mysql> grant all privileges on tzproject.* to 'dj_user'@'%';
    Query OK, 0 rows affected (0.03 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.02 sec)
    
    • 3.创建数据库
      一定记得指定数据库编码
    create database 数据库名 charset=utf8
    
    • 4 setttings中配置
    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',               # 数据库引擎
        'NAME': 'tzproject',                                # 数据库名
        'USER': 'dj_user',                                  # 用户名
        'PASSWORD': 'pythonvip',                            # 密码
        'HOST': '127.0.0.1',                                # 主机IP
        'PORT': 3306                                        # 端口
    	 }
    }
    
  • 3. 安装mysql 的python驱动

    • 1 推荐用法 安装mysqlclient
    # 首先更新apt-get
    sudo apt-get update
    
    # 安装依赖库
    sudo apt-get install default-libmysqlclient-dev
    
    # 切换到虚拟环境
    workon 虚拟环境名
    
    pip install mysqlclient==1.3.9 -i https://pypi.doubanio.com/simple
    #这里建议用1.3.9版本的  -i是指用哪个网站的包,有默认的不过默认的网速比较慢
    
    • 2 安装 pymysql
    pip install pymysql
    

    然后在项目目录下的__init__.py文件中 写入

    import pymysql
    pymsql.install_as_MYSQLdb()
    
    • 4. 配置redis缓存

      • 用于存放用户session信息,以及需要缓存的各种信息。
      • 4.1 安装redis
    	pip install 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",
            }
        },
        'session': {
            'BACKEND': 'django_redis.cache.RedisCache',
            'LOCATION': 'redis://127.0.0.1:6379/1',
            'OPTIONS': {
                'CLIENT_CLASS': 'django_redis.client.DefaultClient',
            }
        },
    }
    
    # session存储缓存设置
    SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
    SESSION_CACHE_ALIAS = 'session'
    
    • 5 配置日志器

      • 用于记录系统运行过程中的各种日志信息。
      • 在项目根目录中创建一个logs文件夹,用于存放日志文件
    	LOGGING = {
        # 版本
        'version': 1,
        # 是否禁用已存在的日志器
        'disable_existing_loggers': False,
        'formatters': {
            'verbose': {
                'format': '{levelname} {asctime} {module} {lineno:d} {message}',
                'style': '{',
            },
            'simple': {
                'format': '{levelname} {module} {lineno:d} {message}',
                'style': '{',
            },
        },
        'filters': {
            'require_debug_true': {
                '()': 'django.utils.log.RequireDebugTrue',
            },
        },
        'handlers': {
            'console': {
                'level': 'DEBUG',
                'filters': ['require_debug_true'],
                'class': 'logging.StreamHandler',
                'formatter': 'simple'
            },
            'file': {
                'level': 'INFO',
                # 这个handler可以记录一组日志文件
                'class': 'logging.handlers.RotatingFileHandler',
                'filename': os.path.join(BASE_DIR, 'logs/tz_django.log'),
                # 单个日志文件最大字节数
                'maxBytes': 300*1024*1024,
                # 日志文件个数
                'backupCount': 10,
                'formatter': 'verbose'
            },
        },
        'loggers': {
            'django': {
                'handlers': ['console', 'file'],
                'level': 'INFO',  # 日志器接收的最低级别
                'propagate': True,
            },
        },
    }
    
    • 6. 时区配置 settings中

    # 修改语言
    LANGUAGE_CODE = 'zh-hans'
    # 修改时区
    TIME_ZONE = 'Asia/Shanghai'
    
    USE_I18N = True
    
    USE_L10N = True
    # 使用时区
    USE_TZ = True
    
    • 7. 静态文件配置

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

    • 本项目主要由4个模块组成,分别为新闻文章模块,课程视频播放模块,文档下载模块,用户管理模块等。在项目根目录下创建一个apps目录用于存放各子应用。
      django项目远程环境搭建(全)_第24张图片
    • 打开终端 cd到你创建的apps目录下
    python ../manage.py startapp news
    python ../manage.py startapp course
    python ../manage.py startapp doc
    python ../manage.py startapp user
    
    • 在settings中加入如下配置
    import sys
    
    # 创建应用之后,把apps目录加入到sys.path中
    sys.path.insert(0, BASE_DIR)
    sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))
    
    • 接着分别在apps文件夹和项目根目录文件夹上右键,加入到Source Root中,优化导入路径(pycharm提示)。
      django项目远程环境搭建(全)_第25张图片
    • 注册我们的应用(“使我们的app生效”)
    NSTALLED_APPS = [
    # ...
    'user',
    'news',
    'doc',
    'course'
    ]
    

    到此,我们的项目就基本配置完毕了,其中有些步骤没有细化,如果看不懂欢迎评论或者留言,我会在看到的第一时间回复.

你可能感兴趣的:(django项目远程环境搭建(全))