Django入门学习-了解基本模块

这篇具有很好参考价值的文章主要介绍了Django入门学习-了解基本模块。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

MVT设计了解

认识MVT

实际操作

Template:

View:

路由配置

Model:

默认的后台管理模块

初始化admin模块

应用中Admin注册


MVT设计了解

认识MVT

Django的web设计模型是MVT:

  • Model:数据存储层,处理所有数据相关的业务,和数据库进行交互,并提供数据的增删改查;
  • Template:模板层(也叫表现层)具体来处理页面的显示;
  • View:业务逻辑层,处理具体的业务逻辑,它的作用是连通Model 层和 Template 

相关的模型可以参考Django MTV和MVC的区别 

Django入门学习-了解基本模块

实际操作

Template:

在Template中创建test.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{{vaule}}
</body>
</html>

View:

在刚才创建的blog应用目录下的views.py中添加以下代码,使用render将对用值渲染到html页面中

from django.shortcuts import render      
def hello_my_django(request):
    return render(request,"test.html",{"vaule":"hello my Django"})

路由配置

在djangoProject的urls.py中可以配置路由

4.0之前引入url模块的方式:

from django.conf.urls import url

  url(regex,view,name=None)

4.0之后可以直接

from django.urls import path
path('test',views.hello_my_django),

 4.0后如果还想用url正则匹配可以使用以下方式引入

   from django.urls import re_path as url

或者放到首页path('',views.hello_my_django),

上述 url 的参数解析如下:

  • regex,匹配请求路径,用正则表达式表示;
  • view,指定 regex 匹配路径所对应的视图函数的名称;
  • name,是给 url 地址起个别名,在模板反向解析的时候使用

配置好后测试test路由

Django入门学习-了解基本模块

Model:

所有的 Model 都必须继承自django.db.models.Model,在blog的models中添加以下内容,class名在ORM框架中对应数据库表中的表名,变量名对应数据库中表的字段,如title等

class Book(models.Model):  #创建 book 表
    title=models.CharField( max_length=30,unique=True, verbose_name='书名')
    public=models.CharField(max_length=50,verbose_name='出版社')
    price=models.DecimalField(max_digits=7,decimal_places=2,verbose_name='定价')
    def default_price(self):
         return '¥30'
    retail_price=models.DecimalField(max_digits=7,decimal_places=2,verbose_name='零售价',default=default_price)

    def __str__(self):
        return "title:%s pub:%s price:%s" % (self.title, self.public, self.price)

class Author(models.Model): #创建作者表
    name=models.CharField(max_length=30,verbose_name='姓名')
    email=models.EmailField(verbose_name='邮箱')

    def __str__(self):
        return '作者:%s'%(self.name)

class UserInfo(models.Model): #创建用户信息表
    username=models.CharField(max_length=24,verbose_name='用户注册')
    password =models.CharField(max_length=24,verbose_name='密码')

然后在终端执行

python manage.py makemigrations
python manage.py migrate

Django入门学习-了解基本模块

可以看到已经创建了对应的三张表

Django入门学习-了解基本模块

 在执行完python manage.py makemigrations后,在应用目录下会有一个migrations目录,记录数据库信息以便以后迁移,可以通过python manage.py sqlmigrate + 应用名 + 编号查看转换对应的sql语句

python manage.py sqlmigrate blog 0001_initial 

Django入门学习-了解基本模块

默认的后台管理模块

上节创建完djangoProject项目后

打开改项目文件夹下的urls.py,发现已经注册了并引入了admin模块

Django入门学习-了解基本模块

因为没有初始化,所以无法登录

Django入门学习-了解基本模块

初始化admin模块

python manage.py createsuperuser

遇到报错:

django.db.utils.OperationalError: no such table: auth_user

可以使用 python manage.py migrate 先创建数据库

Django入门学习-了解基本模块

可以看到数据库中多了这几张表 

Django入门学习-了解基本模块

然后创建管理员账户

python manage.py createsuperuser

这里账户密码为admin/123456

Django入门学习-了解基本模块

对应表中也会多出相应的记录 

Django入门学习-了解基本模块 完事可以登录了

Django入门学习-了解基本模块

应用中Admin注册

在应用中修改

from django.contrib import admin

# Register your models here.
from blog.models import Book, Author,UserInfo #这个需要我们自己导入相应的模型类(数据表)
admin.site.register([Book,Author,UserInfo])

Django入门学习-了解基本模块

启动应用后,可以看到刚才的Book, Author,UserInfo模块已经注册到了管理后台,可以可视化添加数据库记录了

Django入门学习-了解基本模块

 Django入门学习-了解基本模块

参考:

Django模板系统

django框架极速入门指南-02 - dd随风 - 博客园文章来源地址https://www.toymoban.com/news/detail-410205.html

到了这里,关于Django入门学习-了解基本模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django框架入门到精通(03)Django MTV和MVC的区别 (黄菊华老师大学生毕业设计学习教程)

    博主介绍 :《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月07日
    浏览(43)
  • 深入了解目标检测技术--从基本概念到算法入门

    前言: Hello大家好,我是Dream。 众所周知,目标检测是计算机视觉领域中的重要任务之一,其目的是 识别图像或视频中包含的物体实例并将其定位 。实现目标检测可以帮助人们在 自动驾驶、机器人导航、安防监控 等领域中更好地理解和应用图像信息。接下来Dream将带大家一

    2024年02月03日
    浏览(35)
  • “C++基础入门指南:了解语言特性和基本语法”

    C++是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式 等。熟悉C语言之后,对C++学习有一定的帮助 工作之后,看谁的技术牛不牛逼,不用看谁写出多牛逼的代码,就代码风格扫一眼,立刻就能看出来是正规军还是野生的程序员。代码的风

    2024年02月16日
    浏览(38)
  • 【Python基础入门篇】基本函数——os与sys模块

    os模块和sys模块 os模块负责程序与操作系统交互,提供访问操作系统的接口 sys模块负责程序与Python解释器交互,用于操控Python运行环境 待完善

    2024年01月25日
    浏览(44)
  • 《移动互联网技术》第九章 感知与多媒体: 了解质感设计的基本原则和设计方法

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月11日
    浏览(44)
  • FPGA——三速自适应以太网设计(1)基本模块

    每层都嵌套在上层的数据字段 以太网帧长: 64B~1518B IP层 ARP层 UDP层 ICMP层 要双端口ram读写缓存帧的数据和FIFO配合存储帧长度和类型 类型是0800就是IP 0806就是ARP,进行分流操作 两个数据流都加个FIFO,以帧为单位,先输出A,A输出完成后再输出B。还要进行流控:要切换通道输出

    2024年03月14日
    浏览(72)
  • Datawhale Django入门组队学习Task01

    python -m venv django_learn (django_learn那里是自己定的环境名字) 之前一直用conda管理虚拟环境,没咋用过virtualenv,然后我的powershell之前也设置了默认启动了base环境,然后输入activate命令之后好像没啥反应,试了下pip list,输出一堆东西,看来是没成功切换环境,去问了下Claude,

    2024年02月12日
    浏览(38)
  • HTTP基础:学习HTTP协议的基本知识,了解请求和响应的过程

    HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种用于传输超媒体文档(如HTML)的应用层协议,它是Web中最基本的协议。 HTTP请求和响应都是由客户端和服务器之间进行的。 一个完整的HTTP请求由以下几个部分组成: 请求行:包括请求方法(GET、POST等)、请求的URI和HTTP协

    2024年02月12日
    浏览(44)
  • 【零基础入门学习Python---Python网络编程之django快速入门实践】

    🚀 Python 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验

    2024年02月16日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包