1. # 查询系统本系统中安装的python版本
  2. ls -l /usr/bin/python*

1、在虚拟机上新建虚拟环境

  1. # 系统中python默认版本为python2.,可以将其修改为python3
  2. # 第一步:先删除python
  3. rm -rf /usr/bin/python
  4. # 第二步:创建软链接
  5. ln -s /usr/bin/python3 /usr/bin/python
  6. # 第三步:查看python版本是否修改为python3
  7. python -V
  1. # 如果已经将python改为python3版本,可以直接创建虚拟环境
  2. mkvirtualenv 虚拟环境名字
  3. # 如果未修改python版本,则创建虚拟环境时需要指定python版本
  4. mkvirtualenv 虚拟环境名字 -p python3

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

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

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

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

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

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

大功告成,配置成功!

其他配置

修改 settings 文件

1.配置模板文件

在项目根目录新建一个templates文件夹,用于存放模版文件。

  1. TEMPLATES = [
  2. {
  3. 'BACKEND': 'django.template.backends.django.DjangoTemplates',
  4. 'DIRS': [os.path.join(BASE_DIR, 'templates')],
  5. 'APP_DIRS': True,
  6. 'OPTIONS': {
  7. 'context_processors': [
  8. 'django.template.context_processors.debug',
  9. 'django.template.context_processors.request',
  10. 'django.contrib.auth.context_processors.auth',
  11. 'django.contrib.messages.context_processors.messages',
  12. ],
  13. 'builtins': ['django.templatetags.static'],
  14. },
  15. },
  16. ]

2.配置mysql数据库

a.连接虚拟机中的mysql,使用root用户登录:

  1. mysql -uroot -p

b.创建数据库

  1. mysql> CREATE DATABASE mysite CHARSET=utf8;
  2. Query OK, rows affected (0.13 sec)

c.创建用户

  1. mysql>create user xiaohong identified by 'xiaohong';
  2. Query OK, rows affected (0.00 sec)

d.用户授权

  1. mysql> grant all on django_pro.* to 'xiaohong'@'%';
  2. mysql> FLUSH PRIVILEGES;
  3. Query OK, 0 rows affected (0.20 sec)

  

e.加载数据库配置

方法一:直接在settings.py文件中添加数据库配置信息。

  1. DATABASES = {
  2. 'default': {
  3. 'ENGINE': 'django.db.backends.mysql', # 数据库引擎
  4. 'NAME': 'mysite', # 数据库名称
  5. 'USER': 'xiaohong', # 数据库登录用户名
  6. 'PASSWORD': 'xiaohong', # 密码
  7. 'HOST': '192.168.216.137', # 数据库主机IP,如保持默认,则为127.0.0.
  8. 'PORT': , # 数据库端口号,如保持默认,则为3306
  9. }
  10. }

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

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

在settings.py文件中引入my.cnf文件

  1. DATABASES = {
  2. # 方法二:
  3. 'default': {
  4. 'ENGINE': 'django.db.backends.mysql',
  5. 'OPTIONS': {
  6. 'read_default_file': 'utils/dbs/my.cnf',
  7. },
  8. }
  9. }

⚠️mysql数据库配置完成之后,运行django程序会报如下错误,官方推荐安装mysqlclient 1.3.7以上版本,也可以安装pymysql,并且需要在settings.py文件所在包中的__init__.py中导入pymysql。

方法一:安装mysqlclient,进入到虚拟机执行如下命令:

  1. pyvip@VIP:~$ sudo apt-get update # 更新ubuntu包
  2. pyvip@VIP:~$ sudo apt-get install default-libmysqlclient-dev # 安装依赖
  3. pyvip@VIP:~$ workon youkou_env # 进入到虚拟环境
  4. (youkou_env) pyvip@VIP:~$ pip install -i https://pypi.douban.com/simple mysqlclient

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

  1. (youkou_env) pyvip@VIP:~$ pip install -i https://pypi.douban.com/simple pymysql

3.配置redis缓存

用于存放用户session信息、短信验证码以及图片验证码信息等。

  1. # 在虚拟机中安装django-redis
  2. pip install -i https://pypi.douban.com/simple django-redis
  1. # 在settings.py文件中指定redis配置
  2. CACHES = {
  3. "default": {
  4. "BACKEND": "django_redis.cache.RedisCache",
  5. "LOCATION": "redis://127.0.0.1:6379/0",
  6. "OPTIONS": {
  7. "CLIENT_CLASS": "django_redis.client.DefaultClient",
  8. }
  9. },
  10. }

4.配置日志器

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

在项目根目录中创建一个logs文件夹,用于存放日志文件

  1. # 在setting.py文件中加入如下配置:
  2. # 配置日志器,记录网站的日志信息
  3. LOGGING = {
  4. # 版本
  5. 'version': ,
  6. # 是否禁用已存在的日志器
  7. 'disable_existing_loggers': False,
  8. 'formatters': {
  9. 'verbose': {
  10. 'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'
  11. },
  12. 'simple': {
  13. 'format': '%(levelname)s %(module)s %(lineno)d %(message)s'
  14. },
  15. },
  16. 'filters': {
  17. 'require_debug_true': {
  18. '()': 'django.utils.log.RequireDebugTrue',
  19. },
  20. },
  21. 'handlers': {
  22. 'console': {
  23. 'level': 'DEBUG',
  24. 'filters': ['require_debug_true'],
  25. 'class': 'logging.StreamHandler',
  26. 'formatter': 'simple'
  27. },
  28. 'file': {
  29. 'level': 'INFO',
  30. 'class': 'logging.handlers.RotatingFileHandler',
  31. 'filename': os.path.join(BASE_DIR, "logs/xiaohong.log"), # 日志文件的位置
  32. 'maxBytes': * * ,
  33. 'backupCount': ,
  34. 'formatter': 'verbose'
  35. },
  36. },
  37. 'loggers': {
  38. 'django': { # 定义了一个名为django的日志器
  39. 'handlers': ['console', 'file'],
  40. 'propagate': True,
  41. 'level': 'INFO', # 日志器接收的最低日志级别
  42. },
  43. }
  44. }

5.时区配置

  1. # 修改语言
  2. LANGUAGE_CODE = 'zh-hans'
  3. # 修改时区
  4. TIME_ZONE = 'Asia/Shanghai'
  5.  
  6. USE_I18N = True
  7.  
  8. USE_L10N = True
  9. # utc 时间
  10. USE_TZ = True

6.修改静态文件配置

在项目根目录中创建一个static目录,用于存放静态文件(css、js、image、font等)

  1. STATIC_URL = '/static/'
  2.  
  3. STATICFILES_DIRS = [    os.path.join(BASE_DIR, 'static'), # 用于存放静态文件]

7.创建应用

a.本项目主要由4个模块组成,分别为新闻文章模块、课程视频播放模块、文档下载模块、用户管理模块等。在项目根目录下创建一个apps目录用于存放各个子应用。

  1. # 在虚拟机中,cd进入apps
  2. cd apps
  3. python ../manage.py startapp news
  4. python ../manage.py startapp course
  5. python ../manage.py startapp doc
  6. python ../manage.py startapp users

b.在settings.py文件中,加入如下配置

  1. import sys
  2.  
  3. # 创建应用之后,把apps目录加入到sys.path中
  4. sys.path.insert(, BASE_DIR)
  5. sys.path.insert(, os.path.join(BASE_DIR, 'apps'))

c.分别在apps文件夹和项目根目录文件夹上右击,加入到Sources Root根中,优化导入路径。

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

  1. INSTALLED_APPS = [
  2. # ...
  3.  
  4. 'users', # 将应用加入到INSTALLED_APPS列表中
  5. 'course',
  6. 'doc',
  7. 'news',
  8. ]

将项目推送到码云

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

  1. # 填写你的用户名
  2. git config --global user.name "xiaoming"
  3. # 填写你的邮箱地址
  4. git config --global user.email "xiaoming@admin.com"

将代码推送至本地仓库(虚拟机中)

  1. # 工作区添加到暂存区
  2. git add .
  3. # 暂存区提交到仓库区,-m为添加注释信息
  4. git commit -m "项目初始化,完成settings中数据库、模板、时区、静态目录指定等。"

将代码推送至远程仓库(码云上)

  1. # 将代码推送到远程仓库
  2. git push

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

Linux系统中python默认版本为python2.7,修改为python3 项目上传码云的更多相关文章

  1. CentOS系统python默认版本由python2改为python3

    一.了解 CentOS中如果安装有yum,一般会有python2的某个版本.命令行键入python,出现的python2的环境: [root@instance-hrnebyqu src]# pytho ...

  2. linux系统中python版本升级

    一,查看python版本号 python -V 二,下载需要升级到python版本包下载地址https://www.python.org/ftp/python/ 根据需要选择需要的python版本 e ...

  3. python多进程--------linux系统中python的os.fork()方法

    linux下python 创建子进程的原理: os.fork()方法 的原理 为了实现并发.多任务,我们可以在主程序种开启一个进程或者线程.在类unix操作系统当中(非windows),可以用pyth ...

  4. 查询Linux系统中glibc的版本

    编写一个简单的程序 #include <stdio.h> int main() { printf("Hello world\n"); ; } 编译 gcc test.c ...

  5. mac上Python多版本共存(python2.7.10和python3.5.0)

    本文的实现目标是在mac上安装一个python3.5.0的版本,跟当前系统自带的python2.7.10共存. 查看当前版本号 python -V 2.7.10 安装配置Python版本管理器pyen ...

  6. Linux 系统中的MySQL数据库默认区分大小写

    今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...

  7. 在 Linux 系统中读取 GBK 编码的文档

    Linux 系统中,默认使用 UTF-8 编码.有时,我们下载的一些文件(比如 TXT 电子书,中文字幕等)使用了 GBK 编码,这样,当我们读取这些文件时,就会看到乱码.一般来说,有两种解决办法. ...

  8. linux系统中安装MySQL

    linux系统中安装MySQL 检查原来linux系统中安装的版本 rpm -qa | grep mysql 将其卸载掉 以 mysql-libs-5.1.71-1.el6.x86_64 版本为例 r ...

  9. 切换Ubuntu系统python默认版本的方法

    另附切换系统python默认版本的方法: 先使用命令: update-alternatives --list python 查看python命令的各种可能结果, 例如我的结果: /usr/bin/py ...

随机推荐

  1. myeclipse配置springmvc教程

    之前一直是使用Eclipse创建Web项目,用IDEA和MyEclipse的创建SpringMVC项目的时候时不时会遇到一些问题,这里把这个过程记录一下,希望能帮助到那些有需要的朋友.我是用的是MyE ...

  2. nginx location笔记

    nginx location笔记= 开头表示精确匹配^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码,因此请求为/static/20%/aa,可以被规则 ...

  3. 集合类源码(四)Collection之BlockingQueue(ArrayBlockingQueue, DelayQueue, LinkedBlockingQueue)

    ArrayBlockingQueue 功能 全名 public class ArrayBlockingQueue<E> extends AbstractQueue<E> imp ...

  4. DNS 服务器无法正常解析时,可以尝试这样!

    DNS 服务器无法正常解析时,可以尝试这样! ========================================================================联通:12 ...

  5. Nacos配置中心

    本文介绍spring cloud 集成 nacos案例 官方文档:https://nacos.io/zh-cn/docs/what-is-nacos.html](https://nacos.io/zh ...

  6. FreeBSD虚拟机 VMware Tools 安装教程

    对于 FreeBSD 虚拟机,您可以使用命令行工具手动安装或升级 VMware Tools 前提条件 开启虚拟机. 确认客户机操作系统正在运行. 因为 VMware Tools 安装程序是使用 Per ...

  7. 获取post传输参数

    1.获取post参数可以用 传输参数为 a=aa&b=bb这种 public static SortedDictionary<string, string> GetRequestP ...

  8. Web Api 模型绑定 一

    [https://docs.microsoft.com/zh-cn/aspnet/core/web-api/?view=aspnetcore-2.2]1.模型绑定 简单模型绑定针对简单类型(如stri ...

  9. Spring事务源码解析(二)获取增强

    在上一篇文章@EnableTransactionManagement注解解析中,我们搭建了源码阅读的环境,以及解析了开启Spring事务功能的注解@EnableTransactionManagemen ...

  10. pandas基础:Series与DataFrame操作

    pandas包 # 引入包 import pandas as pd import numpy as np import matplotlib.pyplot as plt Series Series 是 ...