测试开发之创建你的第一个Django项目

简介: 测试开发之创建你的第一个Django项目

[TOC]

测试开发之创建你的第一个Django项目

一.代码仓库同步

1.目的

为了使得代码管理更加方便,如果你不打算同步的话,可以直接跳到第二大步——创建django项目

其次,你也可以使用github、svn等代码仓库管理你的代码,这里选用gitee是方便无科学上网,微信端可以随时通过gitee查看代码笔记的我这种懒人。

2.gitee创建仓库

gitee账号创建这种事各位大佬想必都是信手拈来,这里就不做赘述。

1.登录gitee

2.创建仓库

image-20220214114800410.png

3.填写对应的相关信息,点击创建

image-20220214115230771.png

4.创建好了之后的页面如下,可以添加一个初始化文件,跟着提示的命令进行操作即可

image-20220214115534762.png

3.将仓库clone到本地

以windows操作系统为列

1.安装git

2.在本地需要构建仓库的地方右键选择git bash here

image-20220214135814944.png

3.复制在gitee构建的仓库的https地址

4.输入

git clone 你的仓库https地址

5.完成(文件夹尽量不要出现中文和空格)

image-20220214140012748.png

6.之后即可在本地同步代码到gitee仓库,同时可以在别的电脑同步代码,后续细讲

7.常用命令

git clone #克隆项目
git add ./ #添加
git commit -m "提交描述" 
git push origin master 

二.创建django项目

django是一个高级的python web框架

1.创建虚拟环境

实际开发过程中每一个项目都会单独的创建一个python的虚拟环境。

本质上python的虚拟环境是对系统python环境的一个拷贝,依赖系统环境,又和系统环境隔离。

virtualenv

安装:

pip install virtualenv

创建虚拟环境

virtualenv <环境名称>

会在当前目录下创建一个python的虚拟环境

可以通过-p参数指定要虚拟的python解释器

使用pycharm创建

注意:必须要专业版,社区版有些功能被阉割了

1.在pycharm中打开这个项目
image-20220214141958452.png

2.File -> settings -> project -> Python interpreter -> show all -> 左下角加号添加

3.我个人习惯,喜欢专门创建一个文件夹存放我的虚拟环境(该文件夹无中文和空格符号,否则容易导致项目报错,你还找不到原因),勾选一个基本的解释器就行。

image-20220214175608094-16448325683981.png

4.等待创建成功

image-20220214175622059.png

5.创建好了之后,你就得到了一个干净的虚拟环境了,点击apply应用这个虚拟环境
image-20220214180434020.png

6.关于配置pip全局镜像,请查看往期内容,关键字搜索,pip配置全局镜像

2.虚拟环境的使用

使用Terminal

image-20220214181203761.png

在pycahrm中使用Terminal等效于windows的cmd,mac的终端

我为什么使用Terminal

1.由于我使用的是虚拟环境,我通过pycharm打开该项目,在Terminal我可以直接进入该项目的虚拟环境

image-20220214182207233.png

如图所示,前面括号里面的便是虚拟环境名称

2.方便管理,一个项目对应一套环境,在实际工作中可以避免环境的冲突

3.如果是用windows或者mac自带的,那么你直接在项目根目录下使用pip,他会直接引用你环境变量中配置的第一个python环境,而不是你当前的项目的虚拟环境,除非你把虚拟环境配置到环境变量并且是第一个(使用命令where python 或 where pip查看你电脑拥有的环境变量)

4.在Terminal进行pip下载,下载的site-package直接就在你虚拟环境里面

3.django下载

两个等于号,前后不能有空格

pip install django==2.2

image-20220214184910775.png

看到这句就是下载成功了

4.创建django项目

1.依然在Terminal中,确认一下是在项目根目录下

2.创建django项目(项目名自己取,我取的是XZAndroidPlatform)

django-admin startproject <project_name>

3.进入创建的这个项目里面,创建app(app名字自己取,我的是xiaozai_app)

django-admin startapp xiaozai_app

image-20220214190109734.png

4.启动项目

python manage.py runserver

image-20220214190505629.png

5.点击该网址,看到如下页面,恭喜你成功创建自己第一个django项目

image-20220214190543827.png

5.重新打开django项目

pycharm重新打开XZAndroidPlatfor

1.pycharm一键启动django项目

重新打开项目之后,可以看到pycharm上方有如下按钮(社区版没有),点击绿色按钮即可启动django项目
image-20220214232528297.png

如果出现红叉,请点开编辑,选择前面创建的虚拟环境路径即可

我的配置如下

注:如果勾选了Run browse,那你每次启动django服务的时候都会自动给你打开浏览器进入django项目下。

image-20220214232635418.png

2.修改端口

修改上图的post,因为8000端口很容易被平常其他的项目占用,我们可以改为其他的不常用的端口,如8088,8099等

我的改为了8088端口

3.认识各个文件

image-20220214233414901.png

XZAndroidPlatform 文件夹 - > 项目文件夹

-- xiaozai_app 文件夹 -> 注册的app

--- migrations文件夹 -> 迁移记录

--- admin.py : 把数据库的具体表注册到后台,便于管理(后台管理)

--- apps.py : 当前应用配置信息的入口

--- models.py : 数据模型模块

--- tests.py : 单元测试

--- views.py : 视图,写实际后端代码

-- XZAndroidPlatform 文件夹 -> django的项目目录

--- settings.py:相关设置及配置

--- urls.py : 项目的跟路由,连接url和后端的桥梁

--- wsgi.py : 兼容wsgi协议的web服务器入口

-- db.sqlite3 : django自带的一个小型数据库文件,而且是数据库本体,一般小项目可以直接使用

-- manage.py : 项目管理命令行工具

4.Django的常用命令

任务 命令
创建新项目 django-admin.py startproject project_name (注意: windows系统下请用django-admin startproject xxx)
创建新应用 python manage.py startapp app_name (注意: 你需要先cd进入创建的项目文件夹)
检测模型变化,生成新的数据库迁移文件 python manage.py makemigrations [app_label] (注意: app名字可选。如果一个项目包含多个app,而你只更改了其中一个app的模型,建议后面加入具体的app名)
同步数据库与模型 python manage.py migrate
启动服务器 python manage.py runserver
创建超级用户 python manage.py createsuperuser
修改用户密码 python manage.py changepassword username
打开交互终端 python manage.py shell python manage.py dbshell(数据库交互)
查看当前版本 python manage.py version

django-admin.py和manage.py其它命令

命令 用途
python manage.py flush 清空数据库内容,只留下空表
python manage.py test 开始测试
python manage.py collectstatic 搜集静态文件
python manage.py createcachetable 创建缓存表
python manage.py check 检测项目有没有问题
python manage.py inspectdb [table] 根据已有数据库反向生成django模型。你可以选择数据表名字
python manage.py makemessages 搜集所有的messages,可以生成指定文件格式如xml文件,供后期翻译
python manage.py sendemail [email] 发送测试邮件
python manage.py showmigrations 显示所有数据库迁移文件

三.初始化项目操作

1. admin.py自动注册

admin.py里写成如下这样,自动注册(原作者:测试开发干货——我去热饭)

from django.contrib import admin
# Register your models here.

import inspect,sys
from .models import *

cls_members = inspect.getmembers(sys.modules[__name__],inspect.isclass)
for name,cls in cls_members:
    admin.site.register(cls)

2.settings.py文件添加配置

(1)修改时区和语言

LANGUAGE_CODE = 'zh-hans'     # 改中文

TIME_ZONE = 'Asia/Shanghai'   # 改时区

修改之后启动项目界面变成了中文

image-20220215111532141.png

(2)安装应用

在settings文件的INSTALLED_APPS中去注册。

新增xiaozai_app

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'xiaozai_app'
]

(3)增加可访问权限

ALLOWED_HOSTS = ['*']  #让其他人都能访问本平台 

一般情况都是填写允许的访问IP,这里我填写的是允许所有

(4)解决跨域问题

跨域资源共享。

浏览器默认是不允许跨域发送ajax。

我们当前项目需要允许跨域。

跨域如何实现?

通过请求头,需要浏览器和服务器同时支持。

整个cors通信过程,都是浏览器自动完成的,不需要用户参与。

1.先pip install django-cors-headers

2.把中间件修改成如下配置

注意:设置的时候要设置到所有的返回响应的中间件的最上面

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',
]
CORS_ORIGIN_ALLOW_ALL = True #加上允许所有跨域

如果只想运行某几个IP跨域,则书写如下:

# CORS设置
# 允许跨域的域名列表
CORS_ALLOWED_ORIGINS = [
    'http://localhost:8080',
    'http://127.0.0.1:8080'
]

(5)创建超级管理员

python3 manage.py createsuperuser

image-20220215135946696.png

3.配置成所有人都可以进行访问的地址

①port处为空

②Additional options 写为 0.0.0.0:8000

③勾选Run browser并填写相关内容(可以不勾,填在Host那里也可以)

image-20220309171210252.png

到此,一个django项目的创建终末就结束了。

相关文章
|
2月前
|
监控 JavaScript 前端开发
在生产环境中测试和监控Vue项目的方法有哪些?
在生产环境中测试和监控Vue项目的方法有哪些?
28 4
|
3天前
|
测试技术
使用CLion创建Cmake项目,使用GoogleTest和GoogleMock对代码进行测试
使用CLion创建Cmake项目,使用GoogleTest和GoogleMock对代码进行测试
16 3
|
5天前
|
XML Java 测试技术
Maven 构建 & 项目测试
该文介绍了如何使用Maven进行Java应用的构建与测试。在`C:/MVN/consumerBanking`项目中,`pom.xml`配置了JUnit依赖。Maven默认创建了源码和测试文件,通过命令`mvn clean package`进行构建,生成`consumerBanking-1.0-SNAPSHOT.jar`。测试报告在`surefire-reports`文件夹。新增`Util`类并更新`App`后,执行`mvn clean compile`编译,然后运行`java -cp . com.companyname.bank.App`显示&quot;Hello World!&quot;。
|
7天前
|
机器学习/深度学习 算法 UED
【Python 机器学习专栏】A/B 测试在机器学习项目中的应用
【4月更文挑战第30天】A/B测试在数据驱动的机器学习项目中扮演关键角色,用于评估模型性能、算法改进和特征选择。通过定义目标、划分群组、实施处理、收集数据和分析结果,A/B测试能帮助优化模型和用户体验。Python提供工具如pandas和scipy.stats支持实验实施与分析。注意样本量、随机性、时间因素和多变量分析,确保测试有效性。A/B测试助力于持续改进机器学习项目,实现更好的成果。
|
14天前
|
缓存 C语言 C++
【项目日记(九)】项目整体测试,优化以及缺陷分析
【项目日记(九)】项目整体测试,优化以及缺陷分析
|
25天前
|
前端开发 Python
(三)整合 React 项目静态文件到 Django 项目
(三)整合 React 项目静态文件到 Django 项目
|
26天前
|
Linux 网络安全 Python
解决方案:Centos7运行Django项目报错no module named _ssl
解决方案:Centos7运行Django项目报错no module named _ssl
21 0
|
29天前
|
Python
Django项目怎么关闭CFRS
Django项目怎么关闭CFRS
14 1
|
29天前
|
Python
Django项目如何通过修改manage.py指定运行的地址和端口号
Django项目如何通过修改manage.py指定运行的地址和端口号
16 2
|
29天前
|
前端开发 Python
在vscode中如何配置Django项目
在vscode中如何配置Django项目
18 0