Django创建项目模块+创建映射类+视图

确保你的项目已经正确链接数据库

链接数据库的工具有很多,数据库的种类也有很多,我使用的数据库是mysql,工具是pmysql,使用pymysql链接数据库,在settings文件中这么设置:

复制代码
DATABASES = {
    # 'default': {
    #     'ENGINE': 'django.db.backends.sqlite3',
    #     'NAME': BASE_DIR / 'db.sqlite3',
    # }
#默认链接的数据库
'default': {
        #数据库驱动(用于程序操作数据库的程序)建立管道
        'ENGINE': 'django.db.backends.mysql',
        'NAME':  'trip_django',
        'USER':  'root',
        'PASSWORD':  'mima',#你的密码
        'HOST':  '127.0.0.1',#数据库的ip地址
        'PORT':  '3306'#数据库端口号
    }
}

一、创建项目模块

在项目路径下打开命令提示符窗口

输入:

python 复制代码
python manage.py startapp system

创建了system模块。

在settings文件中引入该模块:

模块名.apps.首字母大写的模块名Config

python 复制代码
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'system.apps.SystemConfig',#刚刚创建的system模块

]

二、创建映射类

在模块下的models文件下创建映射类

案例

python 复制代码
from django.db import models


#数据库中表的映射类,根据该文件构建及操作数据库
class Slider(models.Model):
    
    name=models.CharField('名称',max_length=32)
    

    class Meta:
        db_table='system_slider'
        ordering=['-reorder']#默认排序规则

在案例slider类中有一个name属性,也就是对应数据库中有一个slider表和一个name列,如果想创建多个列,语法与name一样,但注意:name是char类型。若想创建整型需要使用:models.SmallIntegerField()还有其他类型,括号中是用来定义列的属性的,例如上述案例定义max_length是定义最大长度。

还有更多列类型和属性请参考下一篇文章。

三、创建视图

python 复制代码
from django.shortcuts import render
from django import http
from django.http import HttpResponse
from system.models import Slider


# Create your views here.
#创建视图函数用于返回轮播数据列表
def slider_list(request):
    #规范相应数据结构
    data={
        'meta':{

        },
        'object':[]
    }
    #过滤数据源,is_valid为真则取出
    queryset=Slider.objects.filter(is_valid=True)
    #对过滤后的数据进行遍历
    for item in queryset:
        data['object'].append({
            'id':item.id,
            'img_url':item.img.url,
            'target_url':item.target_url,
            'name':item.name
        })
    return http.JsonResponse(data)

上述代码实现了将is_valid列有值的数据返回给queryset,然后将queryset的id、img_url、target_url、name值返回给data。然后 返回给浏览器。

四、创建数据模型

当模块和映射类都创建好后,可以开始创建数据模型:

检查

python manage.py check

创建模型

python manage.py makemigrations

生成数据结构

python manage.py migrate

这样就可以将映射类创建为表。

相关推荐
用户938515635079 小时前
工厂模式与 Nest.js 核心思想 —— 从蜜雪冰城到企业级架构
后端·设计模式·nestjs
用户938515635079 小时前
实战 Todo CRUD —— 从路由到异常,手写一个完整模块
后端·typescript·nestjs
XLYcmy9 小时前
京东 算法实习一面 下+手撕
c++·python·llm·概率论·数据处理·训练·codebert
虎头金猫9 小时前
如何在群晖NAS上通过Docker部署CloudSaver?群晖部署CloudSaver教程|聚合资源搜索并实现远程访问
运维·服务器·网络·python·docker·容器·pandas
从零开始学习人工智能9 小时前
WSL2部署CUDA12+cuDNN9踩坑实录:ONNX Runtime GPU推理环境搭建全流程
python
m0_380743879 小时前
从零调用 Claude 教程
开发语言·python·node.js
GetcharZp9 小时前
Qdrant 向量数据库 Golang 实战指南:从零构建高性能检索应用
后端
hsfxuebao10 小时前
OpenSpec 完整使用流程笔记 (SDD)
后端
唐青枫10 小时前
别把 struct 只当成数据盒子:Zig 结构体从入门到实战
后端
why技术10 小时前
AI 写的文章,可能都带着手敲一遍都去不掉的“隐形水印”。
前端·人工智能·后端