1.打开指定文件夹
2.在路径上输入cmd,在当前位置创建Django项目
3.djang-admin startproject 项目名
4.运行项目:进入指定项目下,输入:python manage.py runserver
5.创建子应用:python manage.py startapp 子应用名
配置templates模板页面1.配置setting文件:
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',
],
},
},
]
2.在项目根目录下创建templates文件夹。
数据库常用命令:1.进入数据库: mysql -u用户名 -p密码
2.查看所有所有数据库:show databases;
3.调用数据库: use 数据库名;
4.创建数据库: create database 数据库名 charset=utf8;
5.删除数据库: drop database 数据库名
6.查看当前数据库下的所有表:show tables;
7.查看某张表的所有数据:select * from 表名;
8.往表中插入数据: insert into 表名 values(数据);
Django数据库迁移的过程:1.编写模型类
from django.db import models
# Create your models here.
# 通过ORM定义一个游戏角色表
class Game(models.Model):
name = models.CharField(max_length=20,verbose_name='名字')
atk = models.IntegerField(verbose_name='攻击力')
level = models.IntegerField(verbose_name='等级')
2.创建数据库
create database 数据库名 charset=utf8;
3.配置数据库相关的内容
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 注册自定义应用
'myapp'
]
DATABASES = {
'default':
{
'ENGINE': 'django.db.backends.mysql',
'HOST': 'localhost', # 主机
'PORT': 3306, # 端口
'USER': 'root', # 用户名
'PASSWORD': 'password', # 密码
'NAME': 'Game', # 数据库名
}
}
4.给项目安装数据库,找到与项目同名的文件夹下的 init.py文件:
import pymysql
pymysql.install_as_MySQLdb()
5.添加后台管理,在自定义应用的admin.py文件夹下添加如下内容:
from django.contrib import admin
# Register your models here.
from myapp import models
admin.site.register(models.Game)
6.生成迁移文件:
python .\manage.py makemigrations
7.执行迁移:
python .\manage.py migrate
admin控制台1.创建超级用户
python .\manage.py createsuperuser
2.进入页面,输入账号密码进行管理
http://127.0.0.1:8000/admin/
ORM视图 *** 作1.编写视图代码:
from myapp.models import Game
def DataView(request):
# 在视图中使用ORM *** 作数据库中的数据
games= Game.objects.all() # 获取Game表的所有数据 结果games是一个序列
content = { # 传递给页面的数据,是一个字典
'games': games,
}
render(request, 'games.html', content) # 调用templates中的页面,并传递数据过去
2.配置路由:
urlpatterns = [
path('data/', views.DataView),
]
3.在templates文件夹中创建页面。
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<h3>在页面中渲染数据h3>
<table width="800px" border="1" style="text-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.score }}td>
<td>{{ game.sex }}td>
tr>
{% endfor %}
table>
body>
html>
提取query参数
发送请求:127.0.0.1:8000/index/?page=1&name=yuanbao
视图代码:
def index(request):
# 提取查询字符串、query参数
print(request.GET)
# 通过request的GET获取查询字符串
id = request.GET.get('id')
name = request.GET.get('name')
content = f"提取到的id为{id},提取到的name为{name}"
# return HttpResponse("这是一个简单的响应")
return HttpResponse(content)
提取post请求体中的数据
视图代码:
# 提取post中得数据
def index3(request):
print(request.POST)
user = request.POST.get('user')
pwd = request.POST.get('pwd')
content = f"账号为{user},密码为{pwd}"
return HttpResponse(content)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)