linux搭建Django环境,linux下搭建python Django环境及启动一个示例

什么是DjangoDjango是劳伦斯出版集团的开发人员为开发新闻内容网站而设计出来的一个软件,它遵循MVC思想,但是有自己的一个名词,叫做MVT。

Django遵循快速开发和DRY原则。Do not repeat yourself.不要自己去重复一些工作。

Django是一个基于Python的高级web开发框架

它能够让开发人员进行高效且快速的开发

高度集成(不用自己造轮子),并且免费开源

知识补充

正常上网流程

cda39093361f7921b383d11cb4e61b89.png

浏览器浏览网页的基本原理

本质是网络通信,即通过网络进行数据传递

浏览器经过通信后获取到该页面的源代码文档

浏览器解析文档后以适当的形式展现给用户

请求响应过程

72649bd8f5af42f9d7a992f62a681b34.png

创建一个新的虚拟环境mkvirtualenv django_venv

在虚拟环境里面安装Djangopip3 install django

62b9ae4c0b83a7414e3db7af25d2351b.png

创建Django项目django-admin startproject 项目名

进入到项目中,会发现里面有一个manage.py和一个名字为项目名的文件名

2f08eac7d21e8c6f90e9635d3b75fd27.png

用tree命令查看目录结构如下:

385e855073fa9be721222c3c20e2f840.png

各文件的作用:

__init__.py: # 说明test1是一个python包.

settings.py: # 项目的配置文件.

urls.py: # 进行url路由的配置.

wsgi.py: # web服务器和Django交互的入口.

manage: # 项目的管理文件(通过启动这个文件来启动项目)

在项目中创建一个应用python3 manage.py startapp 应用名

注册应用,让项目知道有这个应用

建立应用和项目之间的联系,需要对应用进行注册。

修改settings.py中的INSTALLED_APPS配置项。

0028015a0147a18c1934c5c1ab3abea7.png

启动项目

运行开发web服务器命令:

python3 manage.py runserver

默认启动的结果

67f1e3c859ce3b4bb5a21f9eba4ce3f3.png

使用mysql替换默认的sqlite3

在项目名下的settings.py找到DATABASES,修改如下代码:

DATABASES = {

'default': {

# 'ENGINE': 'django.db.backends.sqlite3',

# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

'ENGINE': 'django.db.backends.mysql', # 将sqlite3修改为mysql

'NAME': '数据库名',

'USER': '数据库账户',

'PASSWORD': '数据库密码',

'PORT': 3306, # mysql的端口,默认是3306

'HOST': '127.0.0.1' # 主机地址

}

}

在项目目录下的__init__.py中添加如下代码:

import pymysql

pymysql.install_as_MySQLdb()

当我们生成迁移文件的时候,会抛出一个异常:

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

解决办法如下:

找到编辑我们的Django的虚拟环境下的以下文件:

vi ~/PyEnvs/django_venv/lib/python3.6/site-packages/django/db/backends/mysql/base.py

用/if version找到代码并将之注释掉

# if version < (1, 3, 13):

# raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

然后用:wq保存即可!

但是还是会出现另外的一个异常:

File "/home/hcs/PyEnvs/django_venv/lib/python3.6/site-packages/django/db/backends/mysql/operations.py", line 146, in last_executed_query

query = query.decode(errors='replace')

AttributeError: 'str' object has no attribute 'decode'

根据报错的提示,我们可以看到去编辑如下文件:

vi /home/hcs/PyEnvs/django_venv/lib/python3.6/site-packages/django/db/backends/mysql/operations.py

将其中query = query.decode(errors='replace')的 decode 改为 encode

修改时区

在项目名下的settings.py修改如下代码:

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

然后重新启动项目即可看到项目界面变成了中文.

本文章修改于 2019/11/01 16:16:27

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值