元宝的笔记

元宝的笔记,第1张

创建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>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)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/727963.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存