我有一个问题:"我应该如何命名应用程序,视图,模型,表单,字段等?"
例如,我有一个实现了邮箱的浏览器游戏.
应用程序无法命名为邮箱,因此我将其命名pm_box
(这样好吗?)
然后我必须创建所有消息的模型.什么型号名称应该是?消息或消息?它应该有一个布尔字段,True
如果已经读取了消息.该字段应该被调用read
还是is_read
?
然后我有一个列出消息的视图.我应该命名为list_messages
,message_list
,message_list_view
或者list_messages_view
(如果我没有指定的收件箱/发件箱)?
新消息输入数据验证的表单.应该命名表单NewMessageForm
,MessageWritingForm ..?
之后我想跟踪每个玩家的时间戳.为此我有玩家模型(或者它应该是玩家)?对于用户的OneToOne字段和具有字段的TimeTamp模型(或时间戳)的OneToOne字段:online last_pm_sent
,, some_action
.
谢谢你的所有答案.我已经阅读过django样式文档和pep,但是,这些东西都没有指定.
编辑:项目名称(in pyCharm
)是我的游戏名称.我应该如何命名第一个应用程序以及我应该在哪里持有Player(s)模型(在哪个应用程序中)也是UserProfile.
好的,从你的名字开始,它一定不是pm_box,尝试离散地命名,如果有关键字的东西尝试找到一个合适的同义词,这里的PersonalMessage和你的视图文件夹将是personal_messages,而文件通常很好像单个单词,例如.enlist.html,display.html等会很好,我们大多数都是在django中遵循这个结构:
型号类名称
Singular,如果mutliple使用大写字母骆驼套管 - >示例:人,用户,主题,学生主题,学生保护等.
表格类名称:
表格后面的相关模型类 - >示例:PersonForm,UserForm,SubjectForm等.
布尔变量:
适当使用is_或has_前缀 - >示例:is_present,is_available,is_online,has_parent等.
意见:
放入文件夹中的复数,但是在每个单词之后使用下划线(_)而不是大写字母(在两个字母的情况下)文件名将像函数名一样 - >示例:people/index.html,people/detail.html, student_guardians/display_fee.html等
虽然您可能不完全需要新模型来保持一对一的关系,但更好的方法是向当前表添加更多字段.时间戳约定可以是,last_visited_at,last_played_at等.
您可以通过在模型中定义为应用程序命名:
class UserProfile(models.Model): pass class Meta: app_label = 'Your Application Name'