# 查询系统本系统中安装的python版本
ls -l /usr/bin/python*
1、在虚拟机上新建虚拟环境
# 系统中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中新建项目,取名、添加虚拟机上的虚拟环境





选择从码云上克隆到虚拟机中的项目路径:
修改Host和端口(如果在阿里云服务器上创建工程,Host设置为0.0.0.0):
设置本地与服务器代码自动同步:



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

修改settings.py文件,将Host地址添加到ALLOWED_HOSTS列表中。如果为空,只能通过127.0.0.1或者localhost来访问服务器。
大功告成,配置成功!
其他配置
修改 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',
],
'builtins': ['django.templatetags.static'],
},
},
]
2.配置mysql数据库
a.连接虚拟机中的mysql,使用root用户登录:
mysql -uroot -p
b.创建数据库
mysql> CREATE DATABASE mysite CHARSET=utf8;
Query OK, 0 rows affected (0.13 sec)
c.创建用户
mysql>create user xiaohong identified by 'xiaohong';
Query OK, 0 rows affected (0.00 sec)
d.用户授权
csharp;gutter:true;
mysql> grant all on django_pro.* to 'xiaohong'@'%';
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.20 sec)</p>
<pre><code>
**e.加载数据库配置**
**方法一:直接在settings.py文件中添加数据库配置信息。**
</code></pre>
<p>DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'NAME': 'mysite', # 数据库名称
'USER': 'xiaohong', # 数据库登录用户名
'PASSWORD': 'xiaohong', # 密码
'HOST': '192.168.216.137', # 数据库主机IP,如保持默认,则为127.0.0.1
'PORT': 3306, # 数据库端口号,如保持默认,则为3306
}
}</p>
<pre><code>
**方法二:将数据库配置信息存到一个文件中,在settings.py文件中将其引入。(推荐)**
新建数据库配置文件my.cnf(名字随意选择)
在settings.py文件中引入my.cnf文件
</code></pre>
<p>DATABASES = {
# 方法二:
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': 'utils/dbs/my.cnf',
},
}
}</p>
<pre><code>
⚠️mysql数据库配置完成之后,运行django程序会报如下错误,官方推荐安装mysqlclient 1.3.7以上版本,也可以安装pymysql,并且需要在settings.py文件所在包中的
__init__.py中导入pymysql。
**方法一:安装mysqlclient,进入到虚拟机执行如下命令:**
</code></pre>
<p>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</p>
<pre><code>
**方法二:安装pymysql,并且需要在settings.py文件所在包中的
__init__.py中导入pymysql**
</code></pre>
<p>(youkou_env) pyvip@VIP:~$ pip install -i https://pypi.douban.com/simple pymysql</p>
<pre><code>

#### 3.配置redis缓存
用于存放用户session信息、短信验证码以及图片验证码信息等。
</code></pre>
<h1>在虚拟机中安装django-redis</h1>
<p>pip install -i https://pypi.douban.com/simple django-redis</p>
<pre><code>
</code></pre>
<h1>在settings.py文件中指定redis配置</h1>
<p>CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
}</p>
<pre><code>
#### 4.配置日志器
用于记录系统运行过程中的各种日志信息。<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>It is used to record all kinds of log information during the operation of the system.</font>*</details>
在项目根目录中创建一个logs文件夹,用于存放日志文件
</code></pre>
<h1>在setting.py文件中加入如下配置:</h1>
<h1>配置日志器,记录网站的日志信息</h1>
<p>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/xiaohong.log"), # 日志文件的位置
'maxBytes': 300 * 1024 * 1024,
'backupCount': 10,
'formatter': 'verbose'
},
},
'loggers': {
'django': { # 定义了一个名为django的日志器
'handlers': ['console', 'file'],
'propagate': True,
'level': 'INFO', # 日志器接收的最低日志级别
},
}
}</p>
<pre><code>
#### 5.时区配置
</code></pre>
<h1>修改语言</h1>
<p>LANGUAGE_CODE = 'zh-hans'</p>
<h1>修改时区</h1>
<p>TIME_ZONE = 'Asia/Shanghai'</p>
<p>USE_I18N = True</p>
<p>USE_L10N = True</p>
<h1>utc 时间</h1>
<p>USE_TZ = True</p>
<pre><code>
#### 6.修改静态文件配置
在项目根目录中创建一个static目录,用于存放静态文件(css、js、image、font等)
</code></pre>
<p>STATIC_URL = '/static/'STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), # 用于存放静态文件]</p>
<pre><code>
#### 7.创建应用
a.本项目主要由4个模块组成,分别为新闻文章模块、课程视频播放模块、文档下载模块、用户管理模块等。在项目根目录下创建一个apps目录用于存放各个子应用。
</code></pre>
<h1>在虚拟机中,cd进入apps</h1>
<p>cd apps
python ../manage.py startapp news
python ../manage.py startapp course
python ../manage.py startapp doc
python ../manage.py startapp users</p>
<pre><code>
b.在settings.py文件中,加入如下配置
</code></pre>
<p>import sys</p>
<h1>创建应用之后,把apps目录加入到sys.path中</h1>
<p>sys.path.insert(0, BASE_DIR)
sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))</p>
<pre><code>
c.分别在apps文件夹和项目根目录文件夹上右击,加入到Sources Root根中,优化导入路径。

d.将应用加入到INSTALLED_APPS列表中
</code></pre>
<p>INSTALLED_APPS = [
# ...</p>
<pre><code>'users', # 将应用加入到INSTALLED_APPS列表中
'course',
'doc',
'news',
</code></pre>
<p>]</p>
<pre><code>
### 将项目推送到码云
* **在虚拟机中配置代码推送人身份信息(填写自己的名字和邮箱地址)*
</code></pre>
<h1>填写你的用户名</h1>
<p>git config --global user.name "xiaoming"</p>
<h1>填写你的邮箱地址</h1>
<p>git config --global user.email "xiaoming@admin.com"</p>
<pre><code>
将代码推送到本地仓库(虚拟机)<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Push the code to the local warehouse (virtual machine)</font>*</details>
</code></pre>
<h1>工作区添加到暂存区</h1>
<p>git add .</p>
<h1>暂存区提交到仓库区,-m为添加注释信息</h1>
<p>git commit -m "项目初始化,完成settings中数据库、模板、时区、静态目录指定等。"</p>
<pre><code>
将代码推送到远程仓库(代码云)<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Push the code to the remote warehouse (code cloud)</font>*</details>
</code></pre>
<h1>将代码推送到远程仓库</h1>
<p>git push
您这次编写的代码出现在代码云中。
[En]
The code you wrote this time appears in the code cloud.

Original: https://www.cnblogs.com/jackzz/p/11033316.html
Author: 点点花飞谢
Title: Linux系统中python默认版本为python2.7,修改为python3 项目上传码云
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/7941/
转载文章受原作者版权保护。转载请注明原作者出处!