搭建测试平台开发(一):Django基本配置与项目创建

一、安装Django最新版本

复制代码
1 pip install django

二、创建Django项目

首先进入要存放项目的目录,再执行创建项目的命令

复制代码
1 django-admin startproject testplatform

三、Django项目目录详解

python 复制代码
1 testplatform
2  ├── testplatform  # 项目的容器
3  │    ├── __init__.py  # 一个空文件,告诉 Python 该目录是一个 Python 包。
4  │    ├── asgi.py    # 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
5  │    ├── settings.py  # 该 Django 项目的设置/配置。
6  │    ├── urls.py    # 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
7  │    └── wsgi.py    # 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
8  └── manage.py    # 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。

四、运行项目

使用Pycharm打开项目,虚拟环境自行配置

Django官网写的是在项目根目录使用命令行执行 python manage.py runserver 0.0.0.0:8000 来启动项目,但使用工具会更方便

进入浏览器输入http://127.0.0.1:8000,出现下面这个页面就说明项目运行成功。

五、开发前settings.py文件的一些配置

1.修改 ALLOWED_HOSTS 这个列表,这个列表中存放的是可以访问该项目的IP地址或域名,在本地开发的时候指定为*就可以,代表所有IP或域名都可以访问

复制代码
1 ALLOWED_HOSTS = ["*"]

2.注释 MIDDLEWARE 列表中的 django.middleware.csrf.CsrfViewMiddleware 这一行,这是django自带的安全认证机制,但是不安全所以不用它

python 复制代码
 
1 MIDDLEWARE = [
2      'django.middleware.security.SecurityMiddleware',
3      'django.contrib.sessions.middleware.SessionMiddleware',
4      'django.middleware.common.CommonMiddleware',
5      # 'django.middleware.csrf.CsrfViewMiddleware',  # 就是这一行,注释掉!!!
6      'django.contrib.auth.middleware.AuthenticationMiddleware',
7      'django.contrib.messages.middleware.MessageMiddleware',
8      'django.middleware.clickjacking.XFrameOptionsMiddleware',
9  ]

3.开启跨域

3.1 安装pip install django-cors-headers

复制代码
pip install django-cors-headers

3.2 加入INSTALLED_APPS列表中

INSTALLED_APPS = [

......,

'corsheaders',

]

3.3 在MIDDLEWARE列

表'django.contrib.sessions.middleware.SessionMiddleware'和'django.middleware.common.CommonMiddleware'的中间加入'corsheaders.middleware.CorsMiddleware'

python 复制代码
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'corsheaders.middleware.CorsMiddleware',    # 加在这里!
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

3.4 在settings.py文件中添加白名单,可以指定所有域名ip都可以访问,也可以指定域名和ip列表。两者不能同时存在

python 复制代码
# 添加白名单
# CORS_ORIGIN_ALLOW_ALL = True:指定所有域名ip都可以访问后端接口
CORS_ORIGIN_ALLOW_ALL = True  
 
# 指定能访问后端接口的ip或域名列表
# CORS_ORIGIN_WHITELIST = ['127.0.0.1',......]

3.5 开启允许跨域,在settings.py文件中加入

允许跨域时携带Cookie,默认为False

CORS_ALLOW_CREDENTIALS = True

4.将语言改为中文,LANGUAGE_CODE 的值改为zh-Hans

1 LANGUAGE_CODE = 'zh-Hans'

5.连接MySQL

5.1 安装连接MySQL的依赖包 mysqlclient

pip install mysqlclient

5.2修改 DATABASES 字典中的数据库连接信息,项目被创建后跟目录下会默认有一个sqlite3数据库,这个字典也默认连接的是这个数据库,使用MySQL创建一个新数据库,这里将其改为自己刚创建的数据库信息

python 复制代码
 1 DATABASES = {
 2     'default': {
 3         'ENGINE': 'django.db.backends.mysql',   # 指定MySQL引擎
 4         'NAME': 'mydata',   # 数据库名称
 5         'USER': 'root',     # 用户名
 6         'PASSWORD': 'root',     # 密码
 7         'HOST': '127.0.0.1',    # 数据库服务器IP
 8         'PORT': '3306',     # 端口
 9     }
10 }

6.数据库迁移,就是将定义好的数据模型在数据库创建对应的数据表,在命令行中依次执行以下命令

1 python manage.py makemigrations  # 将我们自己创建的应用目录中model.py里面的模型类生成迁移文件,这里我们并没有创建文件,只是提前解释一下

2 python manage.py migrate  # 根据数据库迁移我呢见生成对应的SQL语句并执行

或者使用Pycharm自带的功能操作(建议用!)

7.检查数据库,在没有创建应用数据模型之前,这些被创建的数据表都是Django自身要用到的

8.重启项目即可

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
骆晨学长2 分钟前
基于springboot的智慧社区微信小程序
java·数据库·spring boot·后端·微信小程序·小程序
AskHarries7 分钟前
利用反射实现动态代理
java·后端·reflect
Flying_Fish_roe30 分钟前
Spring Boot-Session管理问题
java·spring boot·后端
农民小飞侠1 小时前
python AutoGen接入开源模型xLAM-7b-fc-r,测试function calling的功能
开发语言·python
战神刘玉栋1 小时前
《程序猿之设计模式实战 · 观察者模式》
python·观察者模式·设计模式
敲代码不忘补水1 小时前
Python 项目实践:简单的计算器
开发语言·python·json·项目实践
测试界柠檬1 小时前
面试真题 | web自动化关闭浏览器,quit()和close()的区别
前端·自动化测试·软件测试·功能测试·程序人生·面试·自动化
hai405871 小时前
Spring Boot中的响应与分层解耦架构
spring boot·后端·架构
鸽芷咕2 小时前
【Python报错已解决】ModuleNotFoundError: No module named ‘paddle‘
开发语言·python·机器学习·bug·paddle
子午2 小时前
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
人工智能·python·cnn