1.Django项目创建和启动
# 创建项目
django-admin startproject 项目名
# 创建子应用
python manage.py startapp 应用名
# 启动应用
python manage.py runserver
2.视图
2.1 2.2在views写视图
# 在views.py中
from django.shortcuts import render
# 导入
from django.http import HttpResponse
# 视图函数
# def MyView(request):
# 1.返回一个相应
# return HttpResponse('<h3>这是我第一个视图</h3>')
2.2 配置视图路由
# 在urls.py 中配置
from django.contrib import admin
from django.urls import path
from myapp import views
# 主路由
urlpatterns = [
path('admin/', admin.site.urls),
path('myview/',views.MyView)
]
3.模板
3.1 配置模板
# 在settings.py 中配置
TEMPLATES = [ # 模板配置
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'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',
],
},
},
]
3.2 创建模板文件夹
在根目录创建和配置名一样的文件名 templates => 创建HTML文件
4.ORM映射
4.1 注册自定义应用
# 在setting.py中配置
INSTALLED_APPS = [ # 注册
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp', # 注册子应用
]
4.2 配置数据库
# 在settings.py中配置
DATABASES = { # 配置数据库 除端口外,其他都是数据库
'default': {
'ENGINE': 'django.db.backends.mysql', # 使用mysql数据库
'HOST':'localhost', # 本机 127.0.0.1
'POST': 3306, # 端口
'USER':'root', # 用户名
'PASSWORD':'123123', # 密码 自己的密码 字符串模式
'NAME':'games', # 数据库
}
}
4.3 安装数据库
# 在项目文件中__init__.py 安装数据库
# 安装数据库
import pymysql
pymysql.install_as_MySQLdb()
4.4 编写模型类
# 在子应用中的models.py
from django.db import models
# Create your models here.
# 模型类 会自动生成 id字段
class game(models.Model):
# CharField 字符段 max_length 最大长度--必传参数 verbose_name 后台管理名
name = models.CharField(max_length=20,verbose_name='角色名')
# IntegerField 整型
atk = models.IntegerField(verbose_name='攻击力')
level = models.IntegerField(verbose_name='等级')
4.5 迁移
# 在终端中写
# 生成迁移文件:
python .\manage.py makemigrations
# 执行迁移:
python .\manage.py migrate
4.6 表中添加数据
# 在admin控制台
# 创建超级用户
python manage.py createsuperuser
4.7 注册表
# 在admin.py中
from django.contrib import admin
# 导入
from myapp.models import game
# Register your models here.
admin.site.register(game)
5.MVT三层联动
5.1 views层从model拿数据
# views中
# 导包
from myapp.models import game
def MyView(request):
# 3.MVT三层联动
# 通过game模型类,取出数据库中的数据(ORM操作),取出所有角色信息
game_data = game.objects.all()
content = { # 传递给页面数据,字典模式
'games':game_data,
}
# render 返回一个模板页面
return render(request,'index2.html',content)
5.2 模板渲染
# 从html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h3>展示数据库中角色信息</h3>
<table width="500px" border="1px" align="center">
<tr>
<th>编号</th>
<th>角色名</th>
<th>攻击力</th>
<th>等级</th>
</tr>
{% for game in games %}
<tr>
<td>{{ game.id }}</td>
<td>{{ game.name }}</td>
<td>{{ game.atk }}</td>
<td>{{ game.level }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>