Python的web框架Django的创建与前后端的数据互传
⽂章⽬录
前⾔简述
Django 是⽤Python开发的⼀个免费开源的Web框架,可以⽤于快速搭建⾼性能,优雅的⽹站!采⽤了MVC的框架模式,即模型M,视图V和控制器C,也可以称为MVT模式,模型M,视图V,模板T。
本次使⽤的Django版本为3.0.5,所以以Django3.0的版本进⾏对建站的讲解,可能由些代码实现与⽼版本的Django有些差异,但是实现理念都⾏相通的。
项⽬环境准备
搭建虚拟环境,随着我们项⽬的积累,有时候不同项⽬需要⽤不到不同版本的包,可能会产⽣冲突,这时候我们需要⼀个虚拟环境将每个项⽬需要的包进⾏独⽴,这样就能有效避免冲突。
virtualenv是⼀个创建隔绝的python环境的⼯具。virtualenv创建⼀个包含所有必要的可执⾏⽂件的⽂件夹,⽤来使⽤python⼯程所需的包。
pip/pip3 install virtualenv
Django项⽬
创建项⽬:
两种创建⽅式如下:
1. 打开Pycharm 新建项⽬ 选择Django。
2. 终端输⼊命令⾏创建⼀个项⽬
打开命令⾏,cd 到⼀个你想放置你代码的⽬录,然后运⾏以下命令:
DjangoDemo为项⽬名
django-admin startproject DjangoDemo
3. ⽣成的项⽬⽂件结构
djangoDemo/
├── djangoDemo
│ ├── init.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
1、djangoDemo/djangoDemo: 项⽬最初的Python包
2、djangoDemo/init.py:⼀个空⽂件,声明所在⽬录的包为⼀个Python包
3、djangoDemo/settings.py: 管理项⽬的配置信息
4、djangoDemo/urls.py: 声明请求url的映射关系
5、djangoDemo/wsgi.py:python程序和web服务器的通信协议
6、manage.py:⼀个命令⾏⼯具,⽤来和Django项⽬进⾏交互,如前⾯创建项⽬就⽤到了该⽂件。
配置settings.py⽂件
这是个包含了 Django 项⽬设置的 Python 模块。
具体各项配置是什么作⽤如下:
import os
# 项⽬的相对路径,启动服务的时候会运⾏这个⽂件所在路径的manage.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 安全密钥
SECRET_KEY ='%+ty%3(cc_$tj(jmvqyr+ga=-6q5yueu%+bnin)9^r32h-5d*6'
# 是否开启Debug 调试模式
DEBUG =True
ALLOWED_HOSTS =[]
#在服务器部署后应该修改为:
#DEBUG = False
#ALLOWED_HOSTS = ['*']
# ⽤来注册App 前6个是django⾃带的应⽤,创建⼀个新的app都应该把app的名字写进这个列表。INSTALLED_APPS =[
'ib.admin',
'ib.auth',
'ttypes',
'ib.sessions',
'ssages',
'ib.staticfiles',
]
# 中间件 ,需要加载的中间件。⽐如在请求前和响应后根据规则去执⾏某些代码的⽅法MIDDLEWARE =[
'django.middleware.security.SecurityMiddleware',
'ib.sessions.middleware.SessionMiddleware',
'django.middlewaremon.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'ib.auth.middleware.AuthenticationMiddleware',
'ssages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
# 指定URL列表⽂件⽗级URL配置,路由检索的起点位置。
ROOT_URLCONF ='djangoDemo.urls'
# 加载⽹页模板路径
TEMPLATES =[
{
'BACKEND':'plate.backends.django.DjangoTemplates',
#会⾃动检索根⽬录下的templates⽂件的静态⽂件html
'DIRS':[os.path.join(BASE_DIR,'templates')],
'APP_DIRS':True,
'OPTIONS':{
'context_processors':[
't_processors.debug',
'quest',
't_processors.auth',
'ssages',
],
},
},
]
# WSGI的配置⽂件路径
WSGI_APPLICATION ='djangoDemo.wsgi.application'
# 数据库配置默认的数据库为sqlite
DATABASES ={
'default':{
'ENGINE':'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR,'db.sqlite3'),
}
#'default': {
#    'ENGINE': 'django.sql',
#    'NAME': '',  # 数据库名
前端页面模板#    'USER': '',  # ⽤户名
#    'PASSWORD': '',  # 密码
#    'HOST': '',  # 服务器地址
#    'PORT': '3306',  # 端⼝
#    'OPTIONS': {'charset': 'utf8'},
#}
}
# 相关密码验证
AUTH_PASSWORD_VALIDATORS =[
{
'NAME':'ib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME':'ib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME':'ib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME':'ib.auth.password_validation.NumericPasswordValidator',
},
]
# 后台管理语⾔设置默认英语,中⽂是zh-hans
LANGUAGE_CODE ='en-us'
# 时区设置,中国的是:Asia/Shanghai
TIME_ZONE ='UTC'
USE_I18N =True
USE_L10N =True
USE_TZ =True
# 静态⽂件路径
STATIC_URL ='/static/'
STATICFILES_DIRS =[
os.path.join(BASE_DIR,'static'),
]
创建APP应⽤
项⽬和应⽤有什么区别?应⽤是⼀个专门做某件事的⽹络应⽤程序——⽐如博客系统,或者公共记录的数据库,或者⼩型的投票程序。项⽬则是⼀个⽹站使⽤的配置和应⽤的集合。项⽬可以包含很多个应⽤。应⽤可以被很多个项⽬使⽤。
例如个⼈⽹站就分管为blog等等app,它们分别处理不同请求。
创建app的⽅式
创建⼀个名为app_demo的应⽤, 在终端项⽬⽬录下执⾏
python manage.py startapp app_demo
新建的app的⽂件⽬录结构如下:
admin: 对应应⽤后台管理配置⽂件
apps: 对应应⽤的配置⽂件
models: 数据模块,⽤于设计数据库等
tests: 编写测试脚本
views:视图层,直接和浏览器进⾏交互
每次新建⼀个App我们需要将其在settings.py⽂件中的INSTALLED_APPS⾥进⾏注册,这样程序才能够到这个服务。
配置urls路由选择

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。