总结就是
1.创建项目和应用
django-admin startproject 项目名
python .\manage.py startapp books
2.配置数据库:
setting.py:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 注册子应用
'books',
]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #引擎
'HOST': 'localhost', # 主机
'PORT': 3306, # 端口
'USER': 'root', # 用户名
'PASSWORD': 'root', # 密码
'NAME': 'book', # 数据库名
}
}
# 当需要使用模板页面时,需要配置
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
# 拼接路径,并在根目录下创建templates文件
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'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',
],
},
},
]
与项目同名的文件夹下的__init__.py文件:
import pymysql
pymysql.install_as_MySQLdb() # 安装mysql
mysql -uroot -p 进入mysql数据库
create database book charset=utf8;创建数据库
模型类 简单学了两个 一个 整型 一个字符型
name = models.CharField(max_length=20, verbose_name=‘书名’)
age=models.IntegerField(verbose_name=‘年龄’)
2 迁移
在应用的adimn.py文件下添加以下代码
#from django.contrib import admin
#from books import models Booklfo
#admin.site.register(models.BookInfo)
1)生成迁移文件
python manage.py makemigrations
2)同步到数据库中
python manage.py migrate
3)创建超级用户
python manage.py createsuperuser
路由分发
主路由
分路由
静态资源
get 和 post
二、视图层
1.GET请求处理
解析get请求中的query参数127.0.0.1:8000/myview/?page=10&id=1001
# 解析GET请求
def MyView(request):
page = request.GET.get('page')
id = request.GET.get('id')
return HttpResponse(f"这是第一个视图,当前页数为{page},当前id为{id}")
2.POST请求处理
编写表单页面,在表单中发送post请求提交数据
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h3>表单页面</h3>
<form method="post" action="/myview2/">
{% csrf_token %}
账号: <input type="text" name="user">
密码: <input type="password" name="pwd">
<input type="submit" value="提交">
</form>
</body>
</html>
# 解析POST请求
def MyView2(request):
user = request.POST.get('user')
pwd = request.POST.get('pwd')
return HttpResponse(f"这是第二个视图,账号:{user},密码:{pwd}")