目录
1、Django MVT模型
2、Django项目和应用
2.1 项目和子应用的创建
2.2 子应用url路由配置
3、Django的templates配置
4、Django请求的处理
4.1 get请求处理
4.2 post请求处理
5、Django数据库操作
5.1、数据库连接配置
5.2、models.py配置
5.3、django数据库表的操作
Django采用的是mvt模型,M代表模型,V代表视图,T代表模板
M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。
T 代表模板 (Template):负责如何把页面展示给用户(html)。
V 代表视图(View): 负责业务逻辑,并在适当时候调用Model和Template。
URL分发器,将URL的页面请求分发给不同的View处理,View再调用相应的Model和Template
模型结构图如下

# 创建django项目
django-admin.py startproject 工程名
# 创建项目子应用
python manage.py startapp 应用名
# 启动项目
python manage.py runserver [0.0.0.0:8000]
# 默认所有修改过的model层转为迁移文件
python manage.py makemigrations
# 默认将所有的迁移文件都执行,更新生成数据库
python manage.py migrate
# 反向同步mysql的表结构信息
python manage.py inspectdb > models.py
# 创建django用户
python manage.py createsuperuser
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','应用名', #settings.py配置文件上添加应用
]
├── walden├── apps├── users # 应用名└──urls.py # 子路由├── walden├── settings.py #django全局配置文件├── __init__.py├── asgi.py├── wsgi.py └── views.py # 路由的请求和处理└── urls.py # 主路由

TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, 'templates')], # settings.py配置文件上添加目录'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},
]
例如:curl http://127.0.0.1:8000?name=123
views.py路由的处理
def helloworld(request):name = request.GET.get('name') # 获取单个query(?name=123)#name = request.GET.getlist('name') # 获取多个query(?name=123&name=234)
4.2.1 template from.html配置
{{head}}
4.2.2 views.py路由的配置
from django.shortcuts import render
from django.views.decorators.csrf import csrf_protect
from .forms import nameForm
from django import formsclass nameForm(forms.Form):name1=forms.CharField()@csrf_protect # 用户提交表单时防止跨站攻击所做的保护
def fromIndex(request):if request.method == 'POST': #是否为post请求form=nameForm(request.POST) # post请求参数的获取if form.is_valid(): #检查输入是否规范ans={}name=form.cleaned_data['name1']ans['head']=namereturn render(request,'from.html',ans)else:return render(request,'from.html')
# 在settings.py配置文件中
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', # 指明连接数据库的引擎'NAME': 'db2', # 库名, django 连接的 mysql 数据库库名'HOST': '192.168.101.10', # 数据库的ip地址,'PORT': 3306, # 数据库的端口号'USER': 'root', # 用户名'PASSWORD': '******' # 密码}
}
# 通过命令同步数据库表结构信息到代码
python manage.py inspectdb > models.py
https://blog.csdn.net/m0_65883616/article/details/125736469
相关链接:
django项目: https://gitee.com/AngDH/hello_django.git
django admin配置:http://t.zoukankan.com/Lovebugs-p-7170814.html
django请求处理:https://zhuanlan.zhihu.com/p/25001794
django数据库操作:https://blog.csdn.net/m0_65883616/article/details/125736469