搭建测试平台开发(一):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 分钟前
pytorch小记(二十):深入解析 PyTorch 的 `torch.randn_like`:原理、参数与实战示例
人工智能·pytorch·python
英英_1 小时前
python 自动化教程
开发语言·python·自动化
万能程序员-传康Kk1 小时前
【Python+flask+mysql】网易云数据可视化分析(全网首发)
python·mysql·信息可视化·数据分析·flask·可视化·网易云
先做个垃圾出来………1 小时前
汉明距离(Hamming Distance)
开发语言·python·算法
测试者家园1 小时前
用 VS Code / PyCharm 编写你的第一个 Python 程序
ide·vscode·python·职场和发展·零基础·pycharm·零基础学python
墨绿色的摆渡人2 小时前
pytorch小记(二十一):PyTorch 中的 torch.randn 全面指南
人工智能·pytorch·python
大叔_爱编程2 小时前
p024基于Django的网上购物系统的设计与实现
python·django·vue·毕业设计·源码·课程设计·网上购物系统
一个天蝎座 白勺 程序猿2 小时前
Python爬虫(29)Python爬虫高阶:动态页面处理与云原生部署全链路实践(Selenium、Scrapy、K8s)
redis·爬虫·python·selenium·scrapy·云原生·k8s
90后小陈老师2 小时前
WebXR教学 09 项目7 使用python从0搭建一个简易个人博客
开发语言·python·web
weixin-WNXZ02182 小时前
闲上淘 自动上货工具运行原理解析
爬虫·python·自动化·软件工程·软件需求