【Web开发一】Centos7.4 python3.6虚拟环境,部署Django框架,实现网站的访问

Django是一个非常不错的Web开发的框架,这里涉及到的是一个基础的使用。具体的配置是python3.6版本,Django是1.11.6版本。Pycharm是2017.3社区版本。这里要实现的是Django中部署网页,然后实现访问。

一、部署python3.6虚拟环境(避免版本冲突)

python3 -m venv /opt/mydj     #部署python虚拟环境在/opt/mydj

二、**python虚拟环境

source /opt/mydj/bin/activate

三、下载Django模块,pymysql模块

pip install pymysql

pip install django==1.11.6

四、pycharm新建名为myweb的项目,并且设定解释器为python虚拟环境

【Web开发一】Centos7.4 python3.6虚拟环境,部署Django框架,实现网站的访问

五、切换到pycharm项目里,新建Django项目,名为mysite

cd PycharmProjects/myweb/

django-admin startproject mysite

六、切换到Django项目目录,启动Django

cd mysite/

python manage.py runserver 0:80    #使用python虚拟环境解释器启动manage.py脚本,启动服务,占用80端口

【Web开发一】Centos7.4 python3.6虚拟环境,部署Django框架,实现网站的访问

七、Django默认是使用db.sqlite3 这种文本数据库的,而我们实际情况中更多的是使用关系型数据库等,那么这里我们把Django使用的数据库给修改一下。在mysql里面新建这样的一个数据库,create database mydj default charset utf8;然后在修改Django的配置。

mysql> create database mydj default charset utf8;

查看pycharm,看看文件都有哪些

【Web开发一】Centos7.4 python3.6虚拟环境,部署Django框架,实现网站的访问

修改配置文件settings.py

ALLOWED_HOSTS = '*'       #允许所有主机访问

# https://docs.djangoproject.com/en/1.11/ref/settings/#databases   数据可以修改模板的官方链接

DATABASES = {                    #更换Django的数据库
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydj',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

LANGUAGE_CODE = 'zh-hans'       #语言

TIME_ZONE = 'Asia/Shanghai'         #时区

USE_TZ = False                                #关闭

【Web开发一】Centos7.4 python3.6虚拟环境,部署Django框架,实现网站的访问

修改配置后Django会自动重启程序,这里报错。从报错可知,缺少支持mysql的模块。

修改__init__.py文件

【Web开发一】Centos7.4 python3.6虚拟环境,部署Django框架,实现网站的访问

【Web开发一】Centos7.4 python3.6虚拟环境,部署Django框架,实现网站的访问

程序正常运行了。

八、删除db.splite3的这个文本数据库文件。

rm -rf db.splite3

九、新建Django应用。这里应用的理解是,一个应用,就是一套具体的网站。

python manage.py startapp polls

再次查看pycharm里面的项目文件

【Web开发一】Centos7.4 python3.6虚拟环境,部署Django框架,实现网站的访问

十、Django的工作流程是这样的。客户端访问网站,由URLS路由进行匹配,看看是发送给哪个视图函数进行处理,然后视图函数连接模型(数据库)进行数据的处理,再把处理的结果,发送给模板(HTML)反馈给客户端。按照这个思路。我们首先应该是修改URLS路由,再修改视图函数,再修改模型,再修改模板。但本文是仅仅部署Django环境而已。所以我们简化一下。

1、修改项目urls.py文件,授权应用urls路由进行路由功能

【Web开发一】Centos7.4 python3.6虚拟环境,部署Django框架,实现网站的访问

这里新增的这条的解读:当匹配polls开头的访问,都交给polls下面的urls来处理。

2、新增polls下的urls.py路由文件

【Web开发一】Centos7.4 python3.6虚拟环境,部署Django框架,实现网站的访问

这里新增的代码的解读:当匹配为空(以polls开头的,为空,就代表是polls或者是polls/),启动index这个视图函数,函数名就是index

3、新增视图函数index,view.py

【Web开发一】Centos7.4 python3.6虚拟环境,部署Django框架,实现网站的访问

这里代表是新增一个名为index的视图函数,导入HttpResponse模块,直接反馈字符串给客户端。

【Web开发一】Centos7.4 python3.6虚拟环境,部署Django框架,实现网站的访问

Django正常运行了。到此Django的环境,部署完毕。