当前位置:网站首页>P3 元宝的笔记
P3 元宝的笔记
2022-07-30 05:40:00 【YuanBao717】
创建Django项目
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>Title</title>
</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)
边栏推荐
猜你喜欢
2022 SQL big factory high-frequency practical interview questions (detailed analysis)
cJSON开源项目详细解剖
navicat连接MySQL报错:1045 - Access denied for user ‘root‘@‘localhost‘ (using password YES)
MySQL 用户授权
MySQL stored procedure
argparse —— 命令行选项、参数和子命令解析器
524.通过删除字母匹配到字典里最长单词
How is crawler data collected and organized?
MySql fuzzy query Daquan
MySQL 安装报错的解决方法
随机推荐
安装Nuxt.js时出现错误:TypeError:Cannot read property ‘eslint‘ of undefined
Qt在QTableWidget、View等表格中添加右击菜单
Memories · The last system design in the university era
Summary of SQL classic interview questions in 2022 (with analysis)
Navicat new database
爬虫数据是如何收集和整理的?
C语言(字符串,转义字符,关键字)
flask-socketio实现的网页聊天室(一)
VS2022中关于scanf函数报错解决方法
三子棋游戏——C语言
相对路径和绝对路径的区别
create-nuxt-app创建出来的项目没有server
Ranking of grades (Huazhong University of Science and Technology postgraduate examination questions) (DAY 87)
HCIP-第九天-BGP(边界网关协议)
安装pytorch
Introduction to Oracle Patch System and Opatch Tool
Teach you how to design a CSDN system
猜数字小游戏(随机生成’三剑客‘)
MySQL 用户授权
453.最小操作数使数组元素相等