Django框架之模型系列

news2024/12/23 20:54:33

模型

重点

  • 模型配置
  • 数据的增删改

    • 增:book = BookInfo() book.save() 和BookInfo.objects.create()

    • 删:book.delete() 和BookInfo.objects.get().delete()

    • 改:book.name='xxx' book.save() 和 BookInfo.objects.get().update(name=xxx)

  • 数据的查询

    • 基础查询

    • F对象和Q对象

    • 关联查询

    • 查询集QuerySet

  • MVT图解

 

 

项目准备

1.创建项目

  • django-admin startproject bookmanager
    
  • 2.创建应用

    python manager.py startapp book
    
  • 3.更换python解释器:按需选择

      # 进入指定虚拟环境
      which python
    
      # python2
      /home/python/.virtualenvs/py_django/bin/python
    
      # python3
      /home/python/.virtualenvs/py3_django/bin/python
    
  • 4.安装应用

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        #添加子应用
        'book.apps.BookConfig'
    ]
    
  • 5.本地化

    #设置中文
    LANGUAGE_CODE = 'zh-Hans'
    #亚洲上海时区
    TIME_ZONE = 'Asia/Shanghai'
    
  • 6.模板路径

    • 在应用同级目录下,创建templates模板文件夹

      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',
                  ],
              },
          },
      ]
      
  • 7.项目中匹配urls

    • 正则 : 路径只要不是admin/就算匹配成功。并包含到应用中的urls.py

      from django.conf.urls import url,include
      from django.contrib import admin
      
      urlpatterns = [
          url(r'^admin/', admin.site.urls),
          #正则为:只要不是 admin/ 就算匹配成功
          url(r'^',include('book.urls'))
      ]
      
  • 8.应用中匹配urls.py

    • 应用中创建 urls.py
    • 正则 : 路径中包含booklist/,就调用视图中对应的bookList函数

      from django.conf.urls import url
      from book.views import bookList
      
      urlpatterns = [
      
          # 匹配书籍列表信息的URL,调用对应的bookList视图
          url(r'^booklist/$',bookList)
      ]
      
  • 9.准备视图

    # 定义视图:提供书籍列表信息
    def bookList(request):
    
        return HttpResponse('OK!')
    
  • 10.开启服务器, 测试项目

     # 进入项目文件中, 开启项目对应的服务器
     python manage.py runserver
    
     # 浏览器中输入网址
     http://127.0.0.1:8000/booklist/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/344300.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言刷题——“C”

各位CSDN的uu们你们好呀,今天,小雅兰要巩固一下之前学过的知识,那么,最好的复习方式就是刷题啦,现在,我们就进入C语言的世界吧 从最简单的开始噢 完完全全零基础都能看懂 题目来源于牛客网 编程语言初学训…

微信小程序开发笔记 进阶篇⑧——Java后端推送订阅消息 | HTTPS调用,消息卡片,跳转页面

文章目录一、前言二、接口说明三、access_token 获取四、消息模板五、参数page六、参考一、前言 微信小程序开发笔记——导读 微信小程序开发笔记 进阶篇⑦——小程序订阅消息 | 发起订阅,获取当前设置 小程序前端做好消息订阅的准备工作Java后端将数据按照消息模板…

SpringBoot依赖管理特性

我们注意到,在项目的 pom.xml 配置文件中,引入的依赖 spring-boot-starter-web 并没有指定其版本号 而在 maven 依赖中却可以发现其版本号为 2.3.4.RELEASE,这说明 SpringBoot 自动帮我们引入了对应版本的依赖,那么在哪儿可以找到…

ChatGPT横空出世|超强大功能写代码、写情书、写文章、做设计火爆全网

会被人工智能替代的行业 不是孩子未来的发展方向 因为我们在有限的时间里 无法穷尽对技术的学习 那么人工智能无法替代的是什么? 最近火热的ChatGPT,是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人…

新来一个卷王,天天加班到2点,太让人崩溃......

在程序员职场上,什么样的人最让人反感呢?是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。是技术太强的人吗?也不是。技术很强的同事,可遇不可求,向他学习还来不及呢。真正让人反感的&a…

第39天| 70. 爬楼梯 (进阶)、LeetCode322. 零钱兑换、LeetCode279.完全平方数

1.题目描述: 给定n阶台阶的楼梯,一次能跳m阶问跳到楼顶有多少种方法?假设m可以是1~9任意一种,weight[i] {1,2,3,4,5,6,7,8,9} 解法: 1.五步曲: ①将本题转换成背包问题---即给定容量为n的背包&#xff0c…

MySQL系统变量和自定义变量

1 系统变量1.1 查看系统变量可以使用以下命令查看 MySQL 中所有的全局变量信息。SHOW GLOBAL VARIABLES; MySQL 中的系统变量以两个“”开头。global 仅仅用于标记全局变量;session 仅仅用于标记会话变量;首先标记会话变量,如果会话变量不存在…

TCP实现可靠传输的实现

TCP实现可靠传输的实现 目录TCP实现可靠传输的实现ARQ协议停止等待协议(古老)连续ARQ协议累计重传(回退N帧的ARQ协议)缓存确认(选择重传ARQ协议)超时重传的时间选择TCP的流量控制零窗口探测报文段Nagle算法…

4.8 注解与自定义注解

文章目录1.概述2.注解的分类2.1 JDK注解2.2 元注解2.2.1 Target ElementType…2.2.2 Retention RetentionPolicy…3 自定义注解1.概述 在注解刚出现时,曾受到过好多程序员的鄙夷,觉得这就是多此一举的操作; 但随着时间的推移,越…

电子技术——电流镜负载的差分放大器

电子技术——电流镜负载的差分放大器 目前我们学习的差分放大器都是使用的是差分输出的方式,即在两个漏极之间获取电压。差分输出主要有以下优势: 降低了共模信号的增益,提高了共模抑制比。降低了输入偏移电压。提升了差分输入的增益。 由于…

【单目标优化算法】食肉植物优化算法(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

vant 4 正式发布,支持暗黑主题,那么是如何实现的呢

2022年10月25日首发于掘金,现在同步到公众号。11. 前言大家好,我是若川。我倾力持续组织了一年多源码共读,感兴趣的可以加我微信 lxchuan12 参与。另外,想学源码,极力推荐关注我写的专栏《学习源码整体架构系列》&…

八股文总是忘?一张图牢记JVM内存结构|金三银四系列

金三银四又来啦!八股文还是得复习起来,最近准备把一些常见的八股文知识点聊聊。本文详解了JVM内存结构和各个部分详细内容,应付面试绰绰有余!点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达…

visual studio2022配置opencv

标题:在vs下配置使用opencv 流程: 1、下载安装opencv 2、添加环境变量 3、vs中配置属性 4、使用 5、可能遇到的报错和解决 1、 下载安装opencv 官网下载地址: https://opencv.org/releases/ 我这里是windows环境,所以选择点击w…

Java数据结构之优先级队列

前言总是忘了优先队列的一些应用,其实这都是很基础的了。为了再加强印象,抄一遍吧。PriorityQueue简介PriorityQueue,即优先级队列。优先级队列可以保证每次取出来的元素都是队列中的最小或最大的元素(Java优先级队列默认每次取出…

微信小程序 if语法、for循环 条件渲染、列表渲染等讲解

这篇文章我想给大家学习的就是如何使用 if 去判断 组件的是显示和隐藏,如何使用for循环来渲染列表等重复的内容。 1.if语法的使用 在小程序中,我们可以使用wx:if"{{条件}}"来判断是否需要渲染该代码块 也可以用 wx:elif 和wx:else 来添加 el…

【java】Spring Boot -- Spring的IOC实现原理

文章目录IOC定义理解IOC不使用IOC:使用IOC:使用IOC的好处IOC提供被依赖对象的方式构造器注入setter 方法注入接口方式注入简单模拟IOC总结IOC定义 IoC 全称为 Inversion of Control,翻译为 “控制反转”,它还有一个别名为 DI&…

【Selenium】十分钟手把手带你学会WebDriver API

目录 1、定位元素【8种】 2、操作测试对象 3、添加等待 4、弹窗类型 5、浏览器的操作 6、键盘事件 7、选择框 8、上传文件 1、定位元素【8种】 元素定位是自动化测试的核心,想要去操作一个对象,第一步就是需要我们先去识别这个对象。每个对象就会…

全民ChatGPT热:快来解锁你的“全能网友”

前 言 2021年11月30日,OpenAI推出人工智能聊天原型ChatGPT,赚足了眼球,在AI界引发了类似AIGC让艺术家失业的大讨论。 据报道,ChatGPT在开放试用的短短几天,就吸引了超过 100 万互联网注册用户。并且社交网络流传出各种…

html5标签

图片:image 主要属性: src:源属性的值是图像的 URL 地址。 alt:用来为图像定义一串预备的可替换的文本。 注意事项: 注意: 假如某个 HTML 文件包含十个图像,那么为了正确显示这个页面,需要加…