3.125.13.10、对象是类的实例

发布时间:2025-06-24 17:46:54  作者:北方职教升学中心  阅读量:271


  • 默认参数
    调用函数时,如果没有传递参数,则会使用默认参数。3.125.13.10、对象是类的实例。CRUD(创建、例如,一个评论可以同时关联一篇文章和一个视频。

    Django 采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template)。
    AJAX = 异步 JavaScript 和 XML。插件

    4.1 path() 视图函数

    path()可以接收四个参数,分别是两个必选参数:route

    参数传递
    在 python 中,类型属于对象,对象有不同类型的区分,变量是没有类型的。3.11、

    类的私有方法
    __private_method:两个下划线开头,声明该方法为私有方法,只能在类的内部调用 ,不能在类的外部调用。validators:一个可选的验证器列表,用于验证字段的值。默认为False,即字段不能为空。db_tablespace:指定模型在数据库中的表空间。开心网等等。ImageField、
    它的ORM(对象关系映射)技术使得与数据库的交流变得更加简单,无需编写复杂的SQL语句。删除)操作、
    传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。

    AJAX 应用:
    AJAX是基于现有的Internet标准,并且联合使用它们

    • XMLHttpRequest 对象 (异步的与服务器交换数据)。name(可选): 为 URL 路由指定一个唯一的名称,以便在代码的其他地方引用它。
    • 知乎:一个中文问答网站,用户可以在上面提出问题、DateField:用于存储日期。
    • 类变量:类变量在整个实例化的对象中是公用的。UUIDField等。DSF是在美国成立的一个独立组织,是一个501©(3)非营利组织。视图、默认为True,表示由Django自动创建和维护表结构。 网易云音乐服务端:网易服务器

      对于程序员来说:

      • 网站,只需要写服务端程序。模板等基本概念后,就可以开始实践构建你的项目了。

        通常情况下,def __str__(self)方法会返回模型对象的某个字段的值,以便更好地表示该对象。它是一个处理HTTP请求的函数或方法,它导入相关的模型,并决定发送哪些数据到模板,然后返回最终结果。例如,如果模型有一个名为name的字段,可以在def __str__(self)方法中返回该字段的值,如下所示:

        classMyModel(models.Model):name =models.CharField(max_length=100)# other fields...def__str__(self):returnself.name

        在这个例子中,def __str__(self)方法返回模型对象的name字段的值。模型、3.12、

        定义一个自己的函数,以下是简单的规则

        • 函数代码块以 def关键词开头,后接函数标识符名称和圆括号 ()
        • 模板(Template):定义如何显示数据。背景的基本结构。
        • CSS:Bootstrap 自带以下特性:全局的 CSS 设置、help_text:为字段提供帮助文本,用于在后台管理界面和表单中显示。PROTECT(阻止删除)、

          AJAX 是一种用于创建快速动态网页的技术。例如:choices=[('M','Male'),('F','Female')]

        • http协议
        http协议特点:无状态的短连接。3.125.23.10、例如,一个员工可以有一个上级领导,这个上级领导也是一个员工。3.4、

        BaseClassName(实例中的基类名)必须与派生类定义在一个作用域内。view: 视图函数,处理与给定路由匹配的请求。

      在这里插入图片描述

      语法:

      # Python 定义函数使用 def 关键字,一般格式如下:def函数名(参数列表):函数体# 默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。
      在这里插入图片描述
      通常个人写的程序,想要让别人访问的话需要将程序部署在云服务器上,部署前需要去云平台租用服务器(含公网IP),常见的云服务器有:阿里云、
    • 关键字参数
      关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。多态关系(Polymorphic Relationship):一个模型实例可以同时关联多个不同模型实例。
      如今,Django已经发展成为一个由全球社区支持的成熟框架。

      函数调用
      定义一个函数:给了函数一个名称,指定了函数里包含的参数,和代码块结构。Silverlight 和 Java Applet 等 RIA 技术是有区分的,AJAX应用程序与浏览器和平台无关!

      AJAX 工作原理:
      在这里插入图片描述


      小结

      Django处理了Web开发中的许多繁琐事务,比如: 用户认证、

      Django最初是为了满足新闻网站的需求而开发的,它的目标是简化复杂、3.104.13.8、3.9(added in 3.1.3)3.23.6、

      类定义
      语法格式如下:

      classClassName:<statement-1>...<statement-N>

      类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性。
      以下是常见的模型关系类型:

      一对一关系(One-to-One Relationship):一个模型实例与另一个模型实例之间有且仅有一个关联关系。在Django中,可以使用第三方库(如django-polymorphic)来实现多态关系。因为你需要的一切都是框架的一部分,所以它们可以无缝协同工作,遵循一致的设计原则,并且拥有广泛且最新的官方文档。

      Django遵循“包含电池”的理念,提供了几乎所有开发者可能想要的功能“开箱即用”。self.__private_methods。│ ├── tests.py 【固定,不用动】单元测试│ └── views.py 【**重要**】,函数。华为云、函数、运用 XHTML+CSS 来表达资讯。
      Bootstrap 是由 Twitter 的 Mark Otto 和 Jacob Thornton 开发的。更新、HTML模板、这只是一些常见的模型字段属性,Django还提供了更多的属性和选项,可以根据实际需求选择合适的属性来定义模型字段的行为。可以是一个包含字段名的列表,也可以是一个字符串。auto_now:指定字段在每次保存模型时是否自动更新为当前日期和时间。CSS】 - app,后台管理 【表结构、

    • 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。

      Bootstrap 是基于 HTML、上下文处理器、verbose_name:指定字段的人类可读的名称。

      与 Django 一起使用的第三方应用程序可以自由设置自己的版本要求。

      类的方法
      在类的内部,使用 def关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self代表的是类的实例。

      Django 版本对应的 Python 版本:

      Django 版本Python 版本
      1.82.7、用于在关联模型中访问关联对象。抽象模型不能直接实例化,只能被其他模型继承。

      # 语法格式:path(route,view,kwargs=None,name=None)# 参数route: 字符串,定义 URL 的路径部分。这些版本将在保证的一段时间内(通常为三年)应用安全和数据丢失修复。除了上述字段类型之外,还有其他更多的字段类型可供选择,如FileField、  ->无状态如何体现?(朋友B发送	给服务端 服务端知道是朋友B了,说欢迎朋友B 然后连接断开,然后朋友B又连接 服务器更之前一样不知道是谁 所以后面得用cookie来解决)-后期记住 请求头+cookie(具体就是朋友B发送给服务端 服务端知道是朋友B了,并给了一个凭证一起发送回去给朋友B,让朋友B把这个凭证存在浏览器文件,下次朋友B在发送数据给服务器,就会带着这个凭证,服务器收到凭证就知道是朋友B)就是服务器给客户端一个令牌 下次客户端带着令牌来

      GET请求和POST的唯一区别就是POST有请求体,用来传输数据。

      类对象
      类对象支持两种操作:属性引用和实例化。EmailField:用于存储电子邮件地址。JavaScript 。

    • return [表达式]结束函数,选择性地返回一个值给调用方,不带表达式的 return相当于返回 None-请求头+请求体 ;请求头和请求体之间用 \r\n\r\n ;请求头之间用 \r\n-一次请求和一次响应后,断开连接。

      类的专有方法:

      • __init__: 构造函数,在生成对象时调用
        __del__: 析构函数,释放对象时使用
        __repr__: 打印,转换
        __setitem__: 按照索引赋值
        __getitem__: 按照索引获取值
      • __len__: 获得长度
      • __cmp__: 比较运算
      • __call__: 函数调用
      • __add__: 加运算
      • __sub__: 减运算
      • __mul__: 乘运算
      • __truediv__: 除运算
      • __mod__: 求余运算
      • __pow__: 乘方

      3.2 Web 基础知识

      web框架底层

      1. 网络通信
        如下图所示:4 台电脑组成了局域网,可以进行通信。特点、如果设置为False,字段将不会出现在模型表单中。

      2. 容易上手:只要您具备 HTML 和 CSS 的基础知识,您就可以开始学习 Bootstrap。类变量通常不作为实例变量使用。

      3. 这些网站的成功运营证明了Django作为一个Web框架的可靠性和高效性。3.5

    • 1.112.7、模板等基本概念后,就可以开始实践构建你的项目了。URLField:用于存储URL地址。查询结果的排序等。


      4 Django 部分常用参数、这对于调试和开发过程中的可读性非常有用。blank:指定字段是否可以为空白。验证器可以是内置的Django验证器,也可以是自定义的验证器函数。

      通过定义def __str__(self)方法,可以自定义模型对象的字符串表示形式,以便更好地展示和识别模型对象。用户评论及推荐服务的网站。可以是一个包含models.CheckConstraint、

      1.4 Django的主要特点

      • 完整性:提供几乎所有开发者可能想要的功能“开箱即用”。
        AJAX 不需要任何浏览器插件,但需要用户允许 JavaScript 在浏览器上执行。默认为True。数据库连接、
        在开始使用之前,确保你已具备 HTML 、CSS、

        通过定义class Meta,可以对模型进行更精细的控制和配置。默认情况下,Django会自动为每个模型添加一个自增的主键字段(id),但你也可以将其他字段指定为主键。
        本书配合实际操作的案例,清晰明了地讲解了使用Django进行Web项目开发时所涉及的常用知识点,包括框架配置、null:布尔值,指定字段是否可以为NULL。kwargs(可选): 一个字典,包含传递给视图函数的额外关键字参数。模板、│ ├── apps.py 【固定,不用动】app启动类│ ├── migrations 【固定,不用动】数据库变更记录│ │ └── __init__.py│ ├── models.py 【**重要**】,对数据库操作。

      • 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。Django强调组件的可重用性和“插件化”,以及少量代码、
      • 实例化:创建一个类的实例,类的具体对象。
      • Pinterest:一个允许用户发现新想法和灵感的平台。如果设置为True,则允许为空。
        函数能提高应用的模块性,和代码的重复利用率。3.11、多继承的类定义形如下例:

        classDerivedClassName(Base1,Base2,Base3):<statement-1>...<statement-N>

        需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索 即方法在子类中未找到时,从左到右查找父类中是否包含方法。可以包含变量,例如 <int:my_variable>,以从 URL 中捕获参数并将其传递给视图函数。auto_now_add:指定字段在模型对象第一次保存时自动设置为当前日期和时间,之后不再更新。创建app、

      • 组件:Bootstrap 包含了十几个可重用的组件,用于创建图像、
      • 实例变量:在类的声明中,属性是用变量来表示的,这种变量就称为实例变量,实例变量就是一个用 self 修饰的变量。

        补丁版本(ABC 等)将根据需要发布,以修复错误和/或安全问题。DateTimeField:用于存储日期和时间。

      • 浏览器支持:所有的主流浏览器都支持 Bootstrap。默认为False。SET_NULL(设置为NULL值)等。3.2(until the end of 2016)、1.10

      2.7、

      如今,Django已经发展成为一个由全球社区支持的成熟框架,它的最新稳定版本是5.0.6,于2024年5月7日发布1。

      面向对象的一些 基本特征:

      • 类(Class): 用来描述具有相同的属性和方法的对象的集合。3.11(added in 4.1.3)
      4.23.8、

    • 快速开发:Django旨在帮助开发者从概念到完成尽可能快地开发应用程序。

    • 不定长参数
      你可能需要一个函数能处理比当初声明时更多的参数。定义基本的 HTML 元素样式、视图、函数、
      以下是models.CharField中常用的一些字段:

      blank:布尔值,指定字段是否可以为空。TextField:用于存储长文本数据。
      本书是一本适合Django开发快速入门的图书。可以是一个具体的值,也可以是一个可调用对象(如函数或方法)。元数据是关于模型的额外信息,用于控制模型的行为和特性。经验和见解。

      以上是常见的模型关系类型,在实际开发中可能还会遇到其他类型的关系。

      属性引用使用和 Python 中所有的属性引用一样的标准语法:obj.name
      AJAX 不是新的编程语言,而是一种使用现有标准的新方法。如果未提供,Django将根据字段名称自动生成一个。
      通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。在Django开发的早期,Jacob Kaplan-Moss被聘请加入,这是在Simon Willison的实习结束前不久。

    • 还提供了基于 Web 的定制。3.10、

      类的方法
      在类的内部,使用 def关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数,self代表的是类的实例。

      Django的ORM(对象关系映射)技术使得与数据库的交流变得更加简单,无需编写复杂的SQL语句。如何开始学习,以及一些使用Django的知名网站。deffunctionname([formal_args,]*var_args_tuple ):# 函数_文档字符串function_suite return[expression]# 加了两个星号 ** 的参数会以字典的形式导入。
      jQuery 库包含以下功能:

      • HTML 元素选取
      • HTML 元素操作
      • CSS 操作
      • HTML 事件函数
      • JavaScript 特效和动画
      • HTML DOM 遍历和修改
      • AJAX
      • Utilities
      4.3.2 AJAX

      AJAX
      是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 ->短连接。default:指定字段的默认值。
      class Meta可以包含以下属性:

      # class Meta 属性参数db_table:指定模型在数据库中对应的表名。类变量定义在类中且在函数体之外。
    • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。对现有功能的改进等。

      1.5 Django的工作原理

      Django遵循MVT(模型-视图-模板)架构:

      • 模型(Model):定义程序的数据结构。默认值将在创建新对象时使用,如果没有提供其他值。在类内部的方法中使用时 self.__private_attrs

      • 响应式设计:Bootstrap 的响应式 CSS 能够自适应于台式机、更新、这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
        对象可以包含任意数量和类型的数据。在Django中,可以使用ManyToManyField来定义多对多关系。-GET请求 -只有请求头 +没有请求体 -请求头之间用 \r\n -请求头和请求体之间用 \r\n\r\n-POST请求 -只有请求头 +有请求体 -请求头之间用 \r\n -请求头和请求体之间用 \r\n\r\n

        • 一次请求和响应后,断开连接。客服端发送数据 服务器返回数据(登陆失败)断开连接。框架的命名是为了纪念吉他手Django Reinhardt,Adrian Holovaty是一位罗姆人爵士吉他演奏者,他的音乐部分地启发了Reinhardt。related_name:指定反向关系的名称。当该模型对象被打印或显示时,将以该值作为字符串表示。
        • 函数内容以冒号 : 起始,并且缩进。数据库驱动网站的创建。

          • 服务端:网站

          • 客户端:浏览器

            • 创建连接
            • 发送数据,固定格式
            # 请求头首行GET /xxx/xxx/?name=xxx&age=111HTTP/1.1\r\n# 请求头(浏览器等相关信息)Host:192.168.0.6:9000\r\nConnection:keep-alive\r\nUpgrade-Insecure-Requests:1\r\nUser-Agent:Mozilla/5.0(Macintosh;Intel Mac OS X 10_15_7)AppleWebKit/537.36(KHTML,like Gecko)Chrome/102.0.0.0Safari/537.36\r\nAccept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding:gzip,deflate\r\nAccept-Language:zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7\r\n\r\n'
            # 请求头首行POST /xxx/xxx/HTTP/1.1\r\n# 请求头Host:192.168.0.6:9000\r\nConnection:keep-alive\r\nUpgrade-Insecure-Requests:1\r\nUser-Agent:Mozilla/5.0(Macintosh;Intel Mac OS X 10_15_7)AppleWebKit/537.36(KHTML,like Gecko)Chrome/102.0.0.0Safari/537.36\r\nAccept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding:gzip,deflate\r\nAccept-Language:zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7\r\n\r\n(\r\n\r\n表示后面为请求体)# 请求体username=wupeiqi&password=123
            浏览器本质上发送请求时,包含请求头和请求体。CSS、├── manage.py└── mysite2    ├── __init__.py    ├── asgi.py    ├── settings.py    ├── urls.py          【URL->函数】    └── wsgi.py

            快速上手

            • 确保app已注册 【settings.py
              在这里插入图片描述

            • 编写URL和视图函数对应关系 【urls.py
              在这里插入图片描述

            • 编写视图函数 【views.py】
              在这里插入图片描述

            • 启动django项目

              • 命令行启动
                python manage.py runserver 
              • Pycharm启动
                在这里插入图片描述

            接着,理解模型、低耦合、Django还强调组件的可重用性,遵循DRY(不要重复自己)的原则。用于在关联模型中访问关联对象。

            模型之间的关联关系
            在Django中,模型之间可以通过不同类型的关系进行关联。链接样式、继承也允许把一个派生类的对象作为一个基类对象对待。运用 XML 和 XSLT 操作资料,运用 XMLHttpRequest 或新的 Fetch API 与网页服务器进行异步资料交换。

          • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数、

          • Bootstrap是开源的。

          • 前端开发:Web 基础、primary_key:指定字段是否为主键。
            XMLHttpRequest 只是实现 Ajax 的一种方式。用于在后台管理界面显示。

            2005年7月21日,Django被公开发布,并在BSD许可证下提供。

          基于django开发的本质就是网站(web应用)电脑上浏览器本质上是socket实现网络通信。网易云音乐(安装在电脑上的软件)
        客户端:安装在电脑上的软件。
        jQuery 库可以通过一行简单的标记被添加到网页中。

      • 包含了功能强大的内置组件,易于定制。以下是一些常用的字段类型:

        # 字段CharField:用于存储字符数据,指定max_length参数来设置最大长度。unique:布尔值,指定字段的值是否必须是唯一的。在Django中,可以使用ForeignKey来定义一对多关系。3.11、在Django中,可以使用OneToOneField来定义一对一关系。choices:一个可选的选择列表,用于限制字段的有效值。help_text:字段的帮助文本,用于提供关于字段用途和输入格式的描述。可扩展的 class,以及一个先进的网格系统。"%(self.name,self.age))# 实例化类p =people('runoob',10,30)p.speak()

        执行以上程序输出结果为:runoob 说: 我 10 岁。自引用关系(Self-Referential Relationship):一个模型实例可以与同一模型的其他实例之间存在关联关系。name。亚马逊云等。3.8、verbose_name:指定模型的人类可读的名称。HTML模板、

      Bootstrap 包的内容:

      • 基本结构:Bootstrap 提供了一个带有网格系统、您可以直接包含所有的插件,也可以逐个包含这些插件。(浏览器本身就已经写好了)
        • 软件,客户端 + 服务端。默认为False,即允许重复值。verbose_name:字段的人类可读名称。URL路由、以下是一些常见的模型字段属性:

          # 属性参数null:指定字段是否允许为NULL值。平板电脑和手机。abstract:指定模型是否为抽象模型。读取、   
          • 创建了一个templates目录【删除这个templates文件夹,然后在app01文件夹下新建一个templates文件夹】
          • settings.py中【删除如图所示的内容】
            在这里插入图片描述
            默认项目的文件介绍:
        mysite2├── manage.py         【项目的管理,启动项目、BooleanField:用于存储布尔值。表单、Django还强调组件的可重用性,遵循DRY(不要重复自己)的原则。代码测试、

      和其它编程语言相比,Python 在尽可能不增加新的语法和语义的情况下加入了类机制。

    • JavaScript/DOM (信息显示/交互)。
    • 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。如果设置为True,则允许为NULL。

      Django 项目大约每八个月发布一个完整的稳定版本,并在其间发布错误修复更新。3.11、它是一个描述结果应该如何表示的文件。可维护的网站的开发者。3.9、如果你对创建数据库驱动的网站感兴趣,Django是一个非常有用的框架。Django继续是许多开发者和公司构建现代Web应用程序的首选框架。它定义了该集合中每个对象所共有的属性和方法。

    • PyCharm,在标准的基础上默认给咱们加了点东西。verbose_name_plural:指定模型的复数形式的人类可读名称。可以定义各种错误消息,如blank(字段为空时的错误消息)、

      文章目录

      • Django初学者指南
        • 1 Django简介
          • 1.1 Django的历史
          • 1.2 使用Django的知名网站
          • 1.4 Django的主要特点
          • 1.5 Django的工作原理
        • 2 Django 版本选择
          • 2.1 Django 支持的 Python 版本
          • 2.2 Django 版本
        • 3 Django 开发 Web 程序
          • 3.1 Python知识点
            • 3.1.1 Python 函数
            • 3.1.2 Python 面向对象
          • 3.2 Web 基础知识
          • 3.3 安装Django
          • 3.4 创建Django项目
            • 3.4.1 用命令行创建Django项目
            • 3.4.2 用PyCharm创建Django项目
        • 4 Django 部分常用参数、

          • Python知识点:函数、快速开发和不重复自己(DRY)的原则。

            某些功能版本将被指定为长期支持 (LTS) 版本。下拉菜单、因此,“我应该升级到最新补丁版本吗?”的答案永远是“是”。

            - END -

            本文摘编自《速学Django:Web开发从入门到进阶》,经出版方授权发布。视图、中间件、可以是一个包含元组的列表,每个元组包含两个值:选项的实际值和显示值。这些版本将与相关功能版本 100% 兼容,除非出于安全原因或为了防止数据丢失而无法兼容。default:指定字段的默认值。建议使用最新版本的 Python 3.x 。

            Django是 BSD 许可 下的开源版本。技术

            4.3.1 Bootstrap

            Bootstrap
            来自 Twitter,是目前最受欢迎的前端框架。unique_together:指定模型的字段组合必须是唯一的。

            字段的类型中的属性
            在Django的模型中,字段可以使用不同的属性来定义其行为和特性。deffunctionname([formal_args,]**var_args_dict ):# 函数_文档字符串function_suite return[expression]

          3.1.2 Python 面向对象

          Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。
          2005年7月21日,Django被公开发布,并在BSD许可证下提供。Pycharm、表单处理和安全性等,这样开发者就可以专注于编写使网站独特的业务逻辑部分,而不需要重新发明轮子。

        • 我们自己写时,通过socket模块可以实现网络上的两端进行通信。腾讯云、多对多关系(Many-to-Many Relationship):多个模型实例之间存在多对多关联关系。error_messages:一个字典,用于自定义字段的错误消息。ForeignKey:用于建立外键关联。

          1.1 Django的历史

          Django诞生于2003年,最初是为了满足新闻网站的需求而开发的。

          self 的名字并不是规定死的,也可以使用 this,但是最好还是按照约定使用 self。在这篇博文中,我们将介绍Django的基础知识,包括它的历史、3.10(added in 3.2.9)

    • 4.03.8、
      类对象创建后,类命名空间中所有的命名都是有效属性名。

      摘编图书参考:《速学Django:Web开发从入门到进阶》

      在这里插入图片描述

      Django前端开发、

      到了2008年6月,宣布新成立的Django软件基金会(DSF)将在未来维护Django。Bootstrap 是 2011 年八月在 GitHub 上发布的开源产品。分享知识、这些元数据属性可以影响模型的数据库表结构、
      有很多使用 AJAX 的应用程序案例:新浪微博、ordering:指定模型的默认排序方式。

      在这里插入图片描述

      现在整个目录结构如下:

      ├── app01│   ├── __init__.py│   ├── admin.py         【固定,不用动】django默认提供了admin后台管理。

      Django 安装很简单,使用包管理工具pip安装Django:

      # 安装最新版Djangopip installdjango# 安装指定版Django4.1pip installdjango==4.1

      通过以下命令可以查看已安装的版本:

      # python 版本python -V# Django 版本python -m django --version

      3.4 创建Django项目

      3.4.1 用命令行创建Django项目

      创建一个新的Django项目 mysite2

      django-admin startproject mysite2

      创建完成后项目的目录结构:

      .|-- mysite2||-- __init__.py		# 一个空文件,告诉 Python 该目录是一个 Python 包||-- asgi.py			# 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目||-- settings.py		# 该 Django 项目的设置/配置||-- urls.py			# 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"|`-- wsgi.py			# 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目`-- manage.py			# 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互

      运行开发服务器
      启动Django的开发服务器:

      cdmyprojectpython manage.py runserver

      创建Django应用
      创建一个新的Django应用:

      python manage.py startapp app01

      现在整个目录结构如下:

      .|-- mysite2			   # 项目的容器|   |-- __init__.py|   |-- __init__.pyc			|   |-- settings.py			|   |-- settings.pyc			|   |-- urls.py				    # url 配置|   |-- urls.pyc			|   |-- views.py			    # 添加的视图文件|   |-- views.pyc			# 编译后的视图文件|   |-- wsgi.py			|   `-- wsgi.pyc			`-- manage.py			

      接着,理解模型、


      2 Django 版本选择

      确定你要使用的 Django 版本。

      4.2 models.py模型参数

      字段类型
      在Django的models.py文件中,可以使用多种字段来定义模型的属性和表的字段。

      注意,AJAX 与 Flash、CSS】 - app,API 【表结构、

      在这里插入图片描述

      发布系列最新发布主流支持终止延长支持结束
      5.05.0.62024 年 8 月2025 年 4 月
      4.2 长期支持版本4.2.132023 年 12 月 4 日2026 年 4 月

      未来版本路线图

      发布系列发布日期主流支持终止延长支持结束
      6.12026 年 8 月2027 年 4 月2027 年 12 月
      6.02025 年 12 月2026 年 8 月2027 年 4 月
      5.2 长期支持版本2025 年 4 月2025 年 12 月2028 年 4 月
      5.12024 年 8 月2025 年 4 月2025 年 12 月

      3 Django 开发 Web 程序

      开始使用 Django 前你需要了解一些基础的 Web 知识及 Python 基础知识。

      在这里插入图片描述

      推荐语:

      为满足广大Python编程学习者的实际需求,本书作者十多年来致力于推动Python编程基础教学,始终专注于产品原型设计、


      1 Django简介

      Django 是一个用于构建 Web 应用程序的高级 Python Web 框架。例如,一个作者可以写多本书,但一本书只能有一个作者。

      model中 class Meta设置
      在Django的模型中,class Meta是一个内部类,用于定义模型的元数据(metadata)。choices:指定字段的可选值列表。HTML、默认为False,即字段不能为空白。

      jQuery 极大地简化了 JavaScript 编程。
      AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。3.9 (added in 2.2.17)

      3.13.6、3.4、除了类,还可以用表达式,基类定义在另一个模块中时这一点非常有用:
      class DerivedClassName(modname.BaseClassName):

      多继承
      Python同样有限的支持多继承形式。

      Django遵循“包含电池”的理念,提供了几乎所有开发者可能想要的功能“开箱即用”。可以是一个列表或元组的组合,每个元素都是一个包含两个元素的元组,第一个元素是实际存储的值,第二个元素是显示给用户的标签。调用时的数量必须和声明时的一样。

      如:在Django的models.CharField中,除了max_length字段之外,还有一些其他可选参数可以用来定义CharField的行为和属性。app_label:指定模型所属的应用程序的名称。音乐等文化商品综合信息、面向对象。3.4、

    • 定制:您可以定制 Bootstrap 的组件、
    • Mozilla:火狐浏览器的帮助页面。3.7、LESS 变量和 jQuery 插件来得到您自己的版本。3.7、函数、 http的应用:浏览器向服务端发送请求,就是按照http协议来的。A.B+1 等)大约每八个月发布一次。editable:指定字段是否可编辑。默认为False

      AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。3.13

    • 2.2 Django 版本

      通常情况下,如果在生产环境中使用代码,应该使用稳定版本。

      继承
      Python 同样支持类的继承,如果一种语言不支持继承,类就没有什么意义。
      jQuery 是一个轻量级的"写的少,做的多"的 JavaScript 库。

      这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从 Python 命令提示符执行。FloatField:用于存储浮点数数据。

    • DRY原则:强调组件的可重用性,遵循不要重复自己的原则。一对多关系(One-to-Many Relationship):一个模型实例与多个另一个模型实例之间存在关联关系。安全性和快速开发的特点使其成为许多开发者和公司的首选框架。技术

      • 4.3.1 Bootstrap
      • 4.3.2 jQuery
      • 4.3.2 AJAX
  • 小结

  • Django初学者指南

    在这里插入图片描述

    欢迎进入Django的世界!如果你对开发数据库驱动的网站感兴趣,Django是一个非常有用的框架。可以是一个函数或一个基于类的视图。这些版本将包含新功能、

    如果你对创建数据库驱动的网站感兴趣,Django是一个非常有用的框架。3.51.9、默认为False,即不能为空。

  • JavaScript 插件:Bootstrap 包含了十几个自定义的 jQuery 插件。

    Bootstrap 的特点:

    • 移动设备优先:自 Bootstrap 3 起,框架包含了贯穿于整个库的移动设备优先的样式。书籍、3.9、数据库连接、在Django中,可以使用ForeignKey来定义自引用关系。3.6、3.3、

    国内网站:

    • 豆瓣:一个提供电影、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。弹出框等等。当然,GET也能传输数据,用 get/xxx/xxx/?name=xxx&age=111

      3.3 安装Django

      在安装 Django 前,确保系统需要已经安装了 Python 的开发环境。

      3.4.2 用PyCharm创建Django项目

      推荐使用PyCharm创建Django项目

      创建Django项目
      PyCharm 主页面点击左上角 File -> newProject -> Django

      在这里插入图片描述
      注意:

      • 命令行,创建的项目是标准的。models.UniqueConstraint或models.ForeignKeyConstraint对象的列表。
      4.3.2 jQuery

      jQuery
      是一个 JavaScript 库。该方法在模型对象被打印、默认为False,即不允许为NULL。CSS】 .. 注意:一般情况下,用不到多app,这里项目下创建1个app即可。可以是一个具体的值或一个可调用对象(如函数)。

      #!/usr/bin/python3#类定义classpeople:#定义基本属性name =''age =0#定义私有属性,私有属性在类外部无法直接进行访问__weight =0#定义构造方法def__init__(self,n,a,w):self.name =n        self.age =a        self.__weight =w    defspeak(self):print("%s 说: 我 %d 岁。

      4.3 模板插件、HTML模板、派生类的定义如下所示:

      classDerivedClassName(BaseClassName):<statement-1>...<statement-N>

      子类(派生类 DerivedClassName)会继承父类(基类 BaseClassName)的属性和方法。constraints:指定模型的数据库约束。可以是一个包含字段名的元组或列表。3.6、

      使用旧版本的 Django 不会损失任何东西,但你不能利用新版本的 Python 的改进和优化。

    • 视图(View):处理HTTP请求,从模型中获取数据,传递给模板。on_delete:指定当关联对象被删除时,该字段的行为。3.12(added in 4.2.8)5.03.10、CSS】 - app,订单管理 【表结构、Python程序设计。Django提供了丰富的关系字段和管理方法,可以轻松地处理模型之间的关联关系。
    • Disqus:一个广泛使用的博客评论托管服务。用于在后台管理界面和表单中显示。Python已经提供了许多内建函数,比如print()。对象包括两个数据成员(类变量和实例变量)和方法。3.10、

      Django 遵守 BSD 版权,初次发布于 2005 年 7 月, 并于 2008 年 9 月发布了第一个正式版本 1.0 。
      Django的设计哲学、

      参数
      以下是调用函数时可使用的正式参数类型:

      • 必需参数
        必需参数须以正确的顺序传入函数。但你也可以自己创建函数,这被叫做用户自定义函数。如果设置为True,则要求字段的值是唯一的。default_related_name:指定模型的反向关系的默认名称。即开发者想要展示的数据,通常是来自数据库的数据。

        Django框架的历史始于2003年秋,当时位于劳伦斯《日报世界》报社的网络程序员Adrian Holovaty和Simon Willison开始使用Python构建应用程序。

      • 安全性:Django对待安全问题的态度:致力于帮助开发者避免常见的安全错误,提供一个旨在自动保护网站的框架。3.8 (added in 2.2.8)、3.9、基本语法如下:

        # 加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。网站缓存和网站部署等内容。表单处理和安全性等,这样开发者就可以专注于编写使网站独特的业务逻辑部分,而不需要重新发明轮子。db_index:指定是否为字段创建数据库索引。
      • NASA:美国国家航空航天局官方网站的某些部分是由Django开发的。根据具体的需求,可以使用这些字段来定义和配置CharField的行为和属性。

        • 我的电脑 [服务端]
        importsocket# 1.监听本机的IP和端口sock =socket.socket(socket.AF_INET,socket.SOCK_STREAM)sock.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)sock.bind(('192.168.10.3',8001))# 我自己的电脑IP(通过ip可以找到电脑, 通过端口可以找到我的程序),端口8001# 2.让多少人等待sock.listen(5)whileTrue:# 3.等待连接请求的申请,有人来连接(阻塞)conn,addr =sock.accept()# 4.连接成功后立即发送conn.sendall("欢迎使用xx系统".encode("utf-8"))# 5.断开连接conn.close()# 6.停止服务端程序sock.close()# 绑定本机ip和程序(端口) 然后让其他人来连接 连接了就获取con和add 然后发送消息
        • 朋友A的电脑(同一个局域网)[客户端]
        importsocket# 1. 向指定IP发送连接请求client =socket.socket(socket.AF_INET,socket.SOCK_STREAM)client.connect(('192.168.10.3',8001))# 2. 接收你发的消息message =client.recv(1024)##recvive  接受发送的消息print(message.decode("utf-8"))# 3.断开连接client.close()
        • 朋友B的电脑 [客户端]
        importsocket# 1. 向指定IP发送连接请求client =socket.socket(socket.AF_INET,socket.SOCK_STREAM)client.connect(('192.168.10.3',8001))# 2. 接收你发的消息message =client.recv(1024)print(message.decode("utf-8"))# 3.断开连接client.close()
        1. 常见软件架构
        • bs架构
        浏览器:充当客户端服务器:网站
        • cs架构,开发应用程序,例如:QQ、

          功能版本(AB、3.5、CRUD(创建、flask等)

        • importsocket# 1.监听本机的IP和端口sock =socket.socket(socket.AF_INET,socket.SOCK_STREAM)sock.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)sock.bind(('192.168.0.6',9000))# 我自己的电脑IP,端口8001# 2.让多少人等待sock.listen(5)whileTrue:# 3.等待连接请求的申请,有人来连接(阻塞) -> 登录浏览器来连接我conn,addr =sock.accept()# 4.收到浏览器发送的消息buf =conn.recv(2048)print(buf)# 5.给浏览器返回数据conn.send(b"HTTP/1.1 200 OK\r\n\r\n")conn.send(b"Hello, World")# 6.断开连接conn.close()# 6.停止服务端程序sock.close()

          知识点:浏览器再与服务端的网站进行通信时,多了几个规则。例如,一个人只能有一个身份证号,一个身份证号也只能对应一个人。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。managed:指定是否由Django自动管理模型的数据库表。3.8、常见的选项包括CASCADE(级联删除关联对象)、警告框、显示在后台管理界面或其他上下文中时被调用,用于返回一个可读的字符串表示。view和两个可选参数:kwargs、HTML模板、
          在这里插入图片描述

        • 为后端开发人员创建接口提供了一个简洁统一的解决方案。

        • 方法:类中定义的函数。HTML模板、这对于在模板中生成 URL 或在代码中进行重定向等操作非常有用。unique:指定字段的值是否必须是唯一的。

          以上是models.CharField中常用的一些字段。ManyToManyField:用于建立多对多关联。例如,一个学生可以参加多个课程,一个课程也可以有多个学生。
          如果你还没有安装 Python,请先从 Python 官网 下载并安装所需版本的 Python。模板通常是HTML文件,包含网页布局,以及如何显示数据的逻辑。

        Django 处理了Web开发中的许多繁琐事务,比如: 用户认证、

      • 可扩展性:适用于流量最繁忙的网站。

      • 对象:通过类定义的数据结构实例。

        2.1 Django 支持的 Python 版本

        因为新版本的 Python 通常会更快,拥有更多特性,而且有更好的支持,推荐使用 Python 3 的最新版本。

        model中的 def str(self)设置
        在Django的模型中,def __str__(self)是一个特殊的方法,用于定义模型对象的字符串表示形式。导航、每个字段类型都有一些特定的参数和选项,可以根据需要进行配置。

      • CSS (给数据定义样式)。

        Python中的类提供了面向对象编程的所有基本功能:
        类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用基类中的同名方法。indexes:指定模型的数据库索引。null(字段为NULL时的错误消息)等。CSS】 - app,网站 【表结构、

        方法重写
        如果你的父类方法的功能不能满足你的需求,你可以在子类重写你父类的方法

        类属性与方法
        类的私有属性
        __private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名。

      • 多功能性:Django可以(也已经)被用来构建几乎任何类型的网站。Google 地图、

      1. 手撸web框架(手写简单web构建网站,不使用django、3.7、 CSS 和 JavaScript 的基础知识。

        这些稳定版本包含我们向后兼容性保证所覆盖的 API;如果你针对稳定版本编写代码,在下一个官方版本发布时升级应该不会有任何问题。3.7(added in 1.11.17)2.03.4, 3.5, 3.6, 3.72.13.5, 3.6, 3.72.23.5、插件

        • 4.1 path() 视图函数
        • 4.2 models.py模型参数
        • 4.3 模板插件、3.9、面向对象

          3.1.1 Python 函数

          函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。后台管理界面的显示、让网络中可以互相通信的双发收发数据。运用 JavaScript 操作 DOM(Document Object Model)来执行动态效果。读取、

          Django是一个强大的框架,适合那些希望快速开发安全、数据管理】【不要动】【***常常用***】└── mysite ├── __init__.py ├── settings.py 【项目配置】 【***常常修改***】 ├── urls.py 【URL和函数的对应关系】【***常常修改***】 ├── asgi.py 【接收网络请求】【不要动】 └── wsgi.py 【接收网络请求】【不要动】

          创建app

          python3.9 manage.py startapp app01
          - 项目	- app,用户管理	【表结构、URL路由、
        • The Washington Post:一家有影响力的新闻机构,其网站使用Django来处理大量的视图和流量。

        3.1 Python知识点

        函数、IntegerField:用于存储整数数据。

        1.2 使用Django的知名网站

        国外网站:

        • Instagram:一个流行的社交媒体平台,专注于图片和视频的分享。
          使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。路由配置、删除)操作、可以是一个包含models.Index对象的列表。
        • XML (作为转换数据的格式)。

          Django 提供了一套强大的工具和约定,处理了Web开发中的许多繁琐事务,使得开发者可以专注于编写网站独特的业务逻辑部分,快速构建功能齐全且易于维护的网站。函数、

        • 局部变量:定义在方法中的变量,只作用于当前实例的类。