简介:许多朋友询问有关Django名称名称的问题。本文的首席执行官注释将为您提供详细的答案,以供您参考。我希望这对每个人都会有所帮助!让我们一起看看!
本文目录清单:
1.如何命名您的Django应用程序2.中国的Django牛是什么?3。“ django”是什么意思?4。Django做什么?5。Django在创建Django应用程序时,哪些情况将有自己的命名习惯。例如,有些人喜欢命名详细名称和特定名称,因为担心不是具体的。
实际上,良好的命名系统的名称通常是乏味,无聊且显而易见的。可以按照Django Apps的名称遵循以下原则:
1.尝试将单词保留为您的应用程序名称,例如:风味,动物,博客,民意调查,梦想,财务状况。一个良好,容易理解的应用程序名称将使项目更容易维护。
2.一般而言,应用程序的名称应为应用程序所有者模型的复数版本,但是此规则有很多例外。“博客”是最常见的。
3.但是,您不能仅考虑应用程序的主要模型。您还应该考虑要如何构建UTL。如果您认为您的网站博客通过访问的命名,则可以考虑命名您的博客应用程序“博客”,然后是non -andnon-“博客”,“帖子”,“ blogposts”,即使您的主模型是“帖子”,这可以使您更容易查看哪个应用程序对应于网站。
4.使用有效的,符合PEP 8,可导入的Python软件包名称:带小写字母的短名称,没有数字,断裂,周期,空格或特殊字符。如果需要可读性,您可以使用下一行来分开单词,但是不要鼓励使用下一行。
通常,命名的django应用程序应遵循PEP8的有效命名(尝试不绘制线路),根据您要构建的URL访问地址命名您的应用程序名称,并使用复数单词来命名(根据您的Main Main模型)。
参考:Django的两勺1.11
有一段时间,整个圈子都转向了一篇文章,或者更准确地说,这是一场演讲。我是平庸的程序员,我的大多数同行都不是一个争议,而是一个更好的学习。主人不是很有帮助,甚至对整个编程社区有害。我们应该有一颗心,不要沉迷于蔑视链,不要怀疑我们是否是真正的程序员,我们能做的就是做事情。
这篇文章(演讲)将被广泛传播,主要是因为它是著名的Python框架Django的作者之一,而Django是行业中的伟大神。再次移动。原因可能是,作为一所总体大学(法律)仅流氓学生编写代码,没有比较,您只能读写WordPress(Skin)不断练习编程,唯一的希望就是成为60点的Web开发人员- 服务器操作,后端应用程序,前端代码,设计,在 - 站点操作或仅-Website Administrator或Meiyue name -all name -all name -allStack Engineer.ut我没有转向该文章,因为我从未想过成为平庸的程序员,我也不想解决不努力的名称。我真正应该做的是定义一个强大的角色程序员。
许多人问我很多年,您认为谁更强大。我很荣幸成为中国最好的前端团队。我很幸运能留在最佳代码追求团队中。我很幸运地创建了一个团队。参与并组织大型和小型会议,与站在行业顶部的程序员会面。写作博客是在许多领域结识朋友的好方法。这是会议的过程。这个定义伴随着一个思维过程。古人有云:自我文化,Qi家族,pingtianxia。掌握技术之家,不必担心完成工作。凝固团队,巩固人民的心,实现平台,实现平台与集体力量,建立一个家庭的信仰体系;通过个人,团队甚至世界上的大型组织的影响,整个社区都受到影响。我总是试图以相同的方式回答这些人的问题。
说了很多话,这也是商业现象的参考。再次,感觉,定义,为什么?我想长时间写一个标题,因为我经常听到有人使用形容词而不是实际内容来判断某些人的好是坏,实际上,这不是一个好现象。今天我看到了一个玩笑。因为这是个玩笑,当我醒来时我有一个精神,我想说几句话。
实际上,我不知道Po在说什么,但是我正在考虑Ruan Yifeng.mr。鲁恩和我从未见过他。他翻译了黑客和画家。他偶尔会发送一条消息,并听到许多用英语写的人写的“ JavaScript继承”。该团队改善了ES6,ES6,ES6的介绍是非常好的。当我听到Yubo的团队时,我感到非常感动,我可以招募招募。他。
他总是写信,写作和传播给读者,高级基金会,加深和写作。他的一些同事没有提到这一点。他不是写一篇不好的文章吗?我认为,他处于世界层面,不仅是写作,而且将“我们知道的”变成“我们做什么” - 告诉社区。在我看来,这是最受尊敬的Niubi程序员之一。
其余的没什么可说的。回到雅各的讲话 - 我们应该拥有它,不要沉迷于链条的蔑视。毫无疑问,您是真正的程序员。我们可以做的是用意图和责任做事。
如果您是一名出色的程序员,那么 - 最好,没有人比您更好,也不是一件过分的任务;分发代码,填写您的github主页,构建轮子,填写全博客。了解社区的思想,并使用微博和行业会议来制作当今的顶级技术并明天练习最基本的介绍。因此,您是真正的程序员。
有四个含义!英语单词的含义您需要结合句子和文章,因为每个单词都有多种含义,您想看到的1个。而Jiang Gechushou是日本风格的热锅,而Django(django)它是著名的西方电影“ django”中的主人公。为何选择“江吉”作为标题,2。2. 2.干净有效的设计django的设计带来了干净有效的设计... django严格维护干净的设计。其所有代码允许您开发Web程序遵循最佳练习3.拥有所有这些特征以删除您的过程缺陷... Django具有所有这些特征... Django是用Python编写的,Python是一个优雅,简洁,高级的编程语言4.提供快速开发Django提供提供提供的提供提供Django提供的Fast开发... Django的理念是做所有可以提高开发速度的一切
Django基于Python的免费和开源代码Web框架。它遵循Model-Template-View(MTV)体系结构模式。它由Django Software Foundation(DSF)维护,该基金会是由非营利组织建立的独立组织。
Django的主要目标是简化复杂,数据库驱动的网站的创建。此框架强调组件的重复性和“可插入”,更少的代码,低耦合,快速开发,不重复其自己的原理。使用Python,甚至用于设置文件和数据模型。Django还提供可选的管理创建,读取,更新和删除接口。该界面是由该省动态生成的,并通过管理模型进行了配置。
使用Django的一些知名网站包括公共广播服务,Instagram,Mozilla,Washingta,Disqus,Bitbucket和Nextdoor。
Django成立于2003年秋季。当时,劳伦斯每日报纸互联网程序员Adrian Holovaty和Simon Willison开始使用Python来构建申请。django的开发。它于2005年7月在BSD许可证下公开发布。该框架以吉他手Django Reinhardt.S命名,2008年6月,新成立的Django软件基金会(DSF)将来将维持Django。
2015年7月,Django Co -Founders和Django Co -Founders和Developers的一些Django Co -Founders和开发商举行了10周年纪念活动,在劳伦斯举行了10周年纪念活动。
Django的设计概念如下:
松动-django的目标是使堆栈中的每个元素独立。
较少编码的无代码,因此可以快速开发。
不要重复自己(干燥) - 一切都应在一个地方开发,不要一次又一次地重复。
快速开发-Django的概念是完成可能促进超快速发展的所有事情。
简单设计-Django严格按照自己的代码维护简单的设计,并且很容易遵循最佳的Web开发实践。
Django的一些优点如下:
对象关系映射(ORM)支持-django在数据模型和数据库引擎之间建立桥梁,并支持大量数据库系统,包括MySQL,Oracle,Postgres,Ett。
多语言支持-Django通过其构建的国际系统支持多语言网站。因此,您可以开发支持多种语言的网站。
Framework支持-Django已建立-Ajax,RSS,Cache和其他各种框架的支持。
GUI - Django为管理活动提供了一个良好的用户界面。
开发环境-Django具有轻巧的Web服务器,可促进末端到端应用程序的开发和测试。
Django是Python Web框架。就像大多数现代框架一样,Django支持MVC模式。
对于Python的基本问题,您可以看到此网页,Web链接的视频教程,希望我的答案能为您提供帮助。
根据朋友和同事的强烈建议,我最近开始看到Python。实际上,这主要是因为Python是2007年的一种语言。我该如何与时代保持同步?最近,我似乎一直都有一定的经验。我希望与您分享。
我不打算从PY的语法基础开始,并直接谈论Django的经历:
要首先与Django联系,您需要了解这可能是他的榜样。建立模型就是一切。对于Java的人员来说,这仍然非常有吸引力(当然,这是动态语言的儿科部门)。看一个模型的示例:
懒惰,将用户直接带到django-admin中
类用户(型号。模型):
用户名= models.charfield(_(_('用户名'),maxlength = 30,unique = true,value_list = [validator.isalphanuseric])
first_name = models.charfield(_(_('firan name'),maxlength = 30,空白= true)
last_name = models.charfield(_(_姓氏'),maxlength = 30,空白= true)
电子邮件= models.emailfield(_(_(_mail地址'),空白= true)
密码= models.charfield(_(_('密码'),maxlength = 128)
元类:
订购=('用户名',)
每个属性都是库表的字段,它非常简单明了。模型提供了许多类型的字段相似的电子邮件field.different字段具有不同的设置,您可以看到相应的原始设置。
模型类内还有类元。此类的属性制定了该表的某些访问策略,例如这里的排序。可以使用Model..ok的_Meta属性获得MetAclass中的属性。那么,该模型如何才能实现数据库的灵活操作table.LET看看。
首先分析/django/django/db/models/base.py,其中包含诸如model.model之类的定义:model:
看看班级定义的第一行,第一行足以让我考虑一段时间:
类模型(对象):
__ metaclass__ = modelbase
模型使用新样式类定义。对于此内容,您可以让狗看。第一行是__Metaclass_属性的定义。此属性的值是modelbase,它是一个类。该课程的一个例子是此类,我相信您很头晕。然后以这种模型来解释,如果没有__ metaclass__,则实例是一个正常的过程。通过此属性过程,将会有更改:
第一个呼叫basemodel .__新__(CLS,名称,基础,attrs)。返回值是类型类型,然后使用此类创建一个实例。实际上,basemodel是模型的元模型,用于制定模型类的最终外观。有关Meta类的更多信息,请参阅此处。
然后我们的眼睛被转移到基本模型班上,我有一种直觉。梅塔(Meta),班级可以最终使用_meta将其带到这里。看一下基本模型的定义。有点长:
类Modelbase(类型):
“所有模型的元类”
def __new __(Cls,Name,Bases,Attrs):
#如果这不是模型的子类,请不要做任何特别的事情。
如果名称=='模型'或不过滤(lambda b:issubclass(b,model),基地):#1 1
返回超级(modelbase,cls).__新__(CLS,名称,基础,attrs)
#创建类。
new_class = type .__ new __(Cls,Name,bases,{'__module__':attr.pop('__ module__')})#2 2 2
new_class.add_to_class('_ meta',options(attr.pop('meta',none)))#3
new_class.add_to_class('dionNotexist',types.classtype('do notexist',(objectdoesnotexist,),{}),{})
#建立完整列表#4
对于基地的基础:
#todo:检查“ _Meta”的存在是hackish。
如果在dir(基本)中的'_meta':
new_class._meta.parents.append(基础)
new_class._meta.parents.extend(base._meta.parents)
model_module = sys.modules [new_class .__模块__]
如果getttr(new_class._meta,'app_label',none)无:
#通过查找一个级别来找出app_label。
#对于'django.contrib.sites.models',这将是“大小”。
new_class._meta.app_label = model_module .__名称__。拆分('。')[-2]#5
#如果我们有Alream创建此类,请尽早救助。
m = get_model(new_class._meta.app_label,name,false)#6
如果m不是没有:
返回m
#将所有属性添加到类中。
对于obj_name,obj in attr.items():
new_class.add_to_class(obj_name,obj)#7 7
#ADD字段从父母那里继承
对于new_class._meta.parents中的父母:
for parent._meta.fields:
#仅在此课程死亡时添加火场。
尝试:
new_class._meta.get_field(field.name)
除了fielddoesnotexist:
field.contribute_to_class(new_class,field.name)#8
new_class._prepare()
register_models(new_class._meta.app_label,new_class)#9
#由于进口的发生方式(递归),我们可能会或可能不会
#该模型以框架注册的第一类。
#只能是每个型号的一类,因此我们必须始终返回
#注册版本。
返回get_model(new_class._meta.app_label,name,false)#10
让我们简要分析此代码:
1.检查课程是否是模型的子类。如果没有,如果您不进行任何治疗,它将直接传递给父过程,这等同于正常处理类别。请注意,当多个继承继承时,超级应严格使用它。
2.使用类型创建类,创建一个普通的模型类
3.这句话非常重要。add_to_class是模型中的类方法。实际上,此方法将其传递到名称和值中,以将类属性添加到模型中。看到,原始的神奇_meta来自。add_to_class方法很简单。查看其代码:
def add_to_class(CLS,名称,值):
如果名称=='admin':
assert type(value)== types.classtype,“%s model MST的%r属性为类,而不是%s对象”%(name,cls ._____,type(value))
值=管理
如果hasattr(value,'contrute_to_class'):
value.contribute_to_class(CLS,名称)
别的:
setttr(CLS,名称,值)
add_to_class = classMethod(add_to_class)
最后一句话是将此方法提出为类方法。特征是该方法的第一个参数是类。实际上,ClassMethod是装饰器。2.4之后,您可以使用@进行简要介绍。我在这里要提及的是他对管理员的特殊处理。尽管管理模块不在管理模块中,但仍与管理员的内容绑定。以下是“ contrute_to_class”方法的特殊处理。为什么django不会得到脱杯点?也将其包装成选项,一个是在基本模型(该元的包装)中制成的,另一个是在add_to_to_class方法中制成的。这有点不合理。我可能不太了解。我不知道他的意图。
4.元的集成,此类选项提供继承方法
5.获取Applabel,也就是说,将模型的名称分为第二个。我喜欢诸如2之类的设置
6. GET_MODEL方法将其输入缓存。
7.取出所有类属性,然后再进行一次,然后将一般属性安定回。如果此属性具有contrute_to_class,则可以执行该属性(可以完全这样的处理。
8.每个文件调用自己的控制_to_class方法用于特殊处理
9.输入缓存,我们暂时致电缓存。
10.很明显地看到注释。我们必须将模型放在缓存中。
结论:以上是首席CTO注释编制的Django名称相关内容的相关内容。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?