当前位置: 首页 > 网络应用技术

在Django迁移意味着什么?

时间:2023-03-06 00:15:34 网络应用技术

  简介:许多朋友问有关Django迁移含义的问题。本文的首席执行官注释将为您提供详细的答案,以供您参考。我希望这对每个人都会有所帮助!让我们一起看看!

  (1)烧瓶

  烧瓶确实是“轻”。这确实是微框架。从Django到烧瓶的开发人员将确定

  烧瓶是免费的,灵活的,并且具有强大的可扩展性。可以广泛使用第三方库的选择。您可以在开发过程中结合自己喜欢的车轮。它也可以与最受欢迎的Python库结合使用。

  简介很简单,即使没有许多网络开发经验,您也可以快速建立网站

  非常适合小型网站

  非常适合开发Web服务API

  没有开发大型网站的压力,但是代码架构需要由其本身设计。开发成本取决于开发人员的能力和经验

  各个方面的表现等于或优于django

  django自己的或第三方赞美功能,烧瓶总是找到第三方图书馆,就像第三方图书馆一样

  烧瓶是灵活开发的,python基本上像烧瓶一样,但可能与django混合

  烧瓶和关系数据库的组合并不比Django弱,并且其与NOSQL数据库的合作远胜于Django

  烧瓶比django更具Pythonic,并且与Python的哲学更一致

  (2)Django

  Django太重了。除了网络框架,使用ORM和模板引擎,灵活性和自由度不够高

  Django可以开发小型应用程序,但总会有一种“用牛刀杀死鸡”的感觉

  Django自己的ORM非常好,全面评估略高于Sqlalchemy

  Django自己的模板引擎简单易用,但其强大而全面的评估略低于Jinja

  Django自己的ORM也使Django与关系数据库之间的关系过高。如果您想使用NOSQL数据,例如MongoDB,则需要选择合适的第三方图书馆。

  Django目前支持非官方模板引擎(例如Jinja)

  Django自己的数据库管理应用程序受到了良好接收

  Django非常适合开发企业级别的网站:快速,可靠,稳定

  Django成熟,稳定且完美,但与烧瓶相比,Django的整体生态相对封闭

  Django是Python Web框架的先驱。有很多用户。第三方库是最丰富的。最好的Python图书馆。

  Django也更容易开始。开发文件是详细的,完美的,丰富的相关信息

  Django创建了一个中间手表来代表Manytomanyfield关系。默认情况下,中间表的名称由两个关系表名称组合在一起。

  由于某些数据库仅限于表名的长度,因此中间表的名称将自动限制在64个字符中,并包含一个不可复制的哈希字符串。

  这意味着您可能会看到诸如book_authors_9cdf4之类的名称。您可以使用db_table选项手动指定中间表名称。

  据说外国人是一对一的,也是汽车的一个例子:

  有两个配件表,一个是车轮计,另一个是发动机桌。桌子都有一个汽车场,指示与附件相对应的汽车。

  对于车轮,多种条件与一辆汽车相对应是正常的,因此应由外国钥匙代表汽车场。

  对于发动机,发动机只能对应于一辆汽车,因此必须使用OneToOneField。

  OneToOneField(Somemodel)可以理解为外国基金(Somemol,unique = true)。

  两者的反向查询是不同的:

  外汇反向查询返回列表(汽车有多个轮子)。

  OneToOneField反向查询返回一个模型示例(因为一个-on -One关系)。

  另一个补充说明:

  请小心意识到,Onefield(Somemodel)和Foreignkey(SomeModel,somut = true)之间的一些差异。如Django的“权威指南”中所述

  Onetoonefield

  一对一的关系。从概念上讲,这是simila toa toa exturekey具有unique = true,但“重新质量的反面将直接撤回单个对象。

  在与OneToNefield“反向”关系的合同中,外国人“反向”反向返回Aquisset。

  例子

  对于Exmple,如果我们有以下两个模型(下面的完整模型代码):

  汽车模型使用OneToOneField(发动机)

  CAR2模型使用extrickey(Engine2,unique = true)

  从incormant.py hand.py shell执行后续行动:

  OneToOneField示例

  从Testapp.Models进口汽车,发动机

  c = car.objects.get(name ='audi')

  E = Engine.Objects.get(name ='柴油')

  e.car

  汽车:奥迪

  具有唯一=真实示例的外国钥匙

  来自Testapp.Models Import Car2,Engine2

  c2 = car2.Objects.get(name ='Mazda')

  e2 = Engine2.Objects.get(name ='Wankel')

  e2.car2_set.all()

  [CAR2:马自达]

  型号代码

  来自django.db导入模型

  类引擎(型号。模型):

  name = models.charfield(max_length = 25)

  def __unicode __(self):

  返回self.name

  班级汽车(Models.Model):

  name = models.charfield(max_length = 25)

  引擎=型号。

  def __unicode __(self):

  返回self.name

  Class Engine2(Models.Model):

  name = models.charfield(max_length = 25)

  def __unicode __(self):

  返回self.name

  CAR2类(Models.Model):

  name = models.charfield(max_length = 25)

  Engine = Models.Foreignkey(Engine2,unique = true)

  def __unicode __(self):

  返回self.name

  1.首先,为您的应用程序(fileapp)创建Django Project目录外的文件夹,命名为Django-fileupload

  2.将FileAPP文件文件夹移至Django-Fileupload目录

  3.创建django-fileupload/readme.rst文件以输入以下相关内容

  4.创建一个许可证文件,即django-freeupload/livense,输入livense,如果不是的话,请转到github自动生成生成生成

  5.然后,创建一个django-fileupload/setup.py文件,以提供有关如何创建和安装此应用程序的一些详细信息。内容如下:

  6.默认情况下,包装中只有Python模块和袋子。如果要包含其他文件,我们需要创建一个清单。内容如下

  7.以下建议包括有关您的应用程序的一些详细信息。创建一个空文件夹,命名文档,然后在django-fileapp/sustest.in中添加一行。

  注意:此文档目录将不包含在包中,除非您添加一些文件以输入

  8.最终执行包装操作,执行python setup.py sdist(需要在django-fileApp文件夹中执行),应使用称为dist的文件夹添加django-fileApp/,该文件夹将生成一个package-django-fileApp-0.tar.gz

  9.安装

  如果不足为奇,您的应用程序应该能够正常执行

  10.卸载

  11.安装后查看应用程序信息,例如安装路径

  希望采用 -

  如果MySQL数据表是错误的,则可以将其返回到2.0版Django版本

  Django 2.1功能

  Python版本支持

  Python版本需要3.5+,不再支持3.4。

  模型权限:添加的视图(视图)权限

  长期以来,Django模型只有三个默认权限:增加(添加),删除(删除)和编辑器(更改),并且没有单独的查看权限。新的查看权限允许设置模型可读取。

  正向兼容性:如果用户获得修改(更改)权限,则自然会在没有任何其他设置的情况下获得查看权限。

  登录框架

  删除了contry.auth.views模块下的所有函数视图(FBV),并且可以使用相应的类视图(CBV)

  安全

  httpresponse.set_cookie()支持设置samesite属性

  不再支持数据

  不再支持MySQL 5.5及以下,PostgreSQL 9.3及以下

  其他更新

  默认的jQuery版本从2.3.3更新为3.3.1

  根据基于内存的缓存使用LRU选择算法

  ImageField渲染控制新访问=“ image/*”属性

  模型类支持init_subclass重写

  booleanfield允许设置null = true,将来可以删除nullbooleanfield类

  Django表单易于使用且易于扩展。因此,Django管理员和CBV基本上基于形式。实际上,由于Django形式的强大验证功能,大多数Django API框架都将表格作为其验证的一部分。尽管Django形成需要一些时间学习,但如果形式为mod。

  结论:以上是首席CTO的所有内容都注明了Django在Django中的迁移。感谢您阅读本网站的内容。我希望这对您有帮助。不要忘记在此网站上找到它。