我有一个问题:“我应该如何命名应用,视图,模型,表单,字段等?”
例如,我有一个实施了邮箱的浏览器游戏。
应用程序无法命名为邮箱,因此我将其命名为pm_box
(这样好吗?)
然后我必须创建所有消息的模型。什么型号名称应该是?消息或消息?如果已经读取了消息,它应该有一个布尔字段True
。该字段应该被称为read
还是is_read
?
然后我有一个列出消息的视图。我应该将其命名为list_messages
,message_list
,message_list_view
或list_messages_view
(如果我没有指定收件箱/发件箱)吗?
新消息输入数据验证的表单。表单应该命名为NewMessageForm
,MessageWritingForm ..?
之后我想跟踪每个玩家的时间戳。为此我有玩家模型(或者它应该是玩家)?将OneToOne字段添加到用户,将OneToOne字段添加到包含字段的时间戳模型(或时间戳):在线,last_pm_sent
,some_action
。
感谢您的所有答案。我已经阅读过django样式文档和pep,但是,这些东西都没有指定。
编辑:项目名称(pyCharm
)是我的游戏名称。我应该如何命名第一个应用程序以及我应该在哪里持有Player(s)模型(在哪个应用程序中)也是UserProfile。
答案 0 :(得分:16)
好的,从你的名字开始, 它必须不是pm_box,尝试离散地命名,如果有关键字的东西尝试找到一个合适的同义词,这里的PersonalMessage和你的视图文件夹将是personal_messages,而文件通常很好像单个单词,例如。 enlist.html,display.html等会很好,我们大多数都是在django中遵循这个结构:
模型类名称
Singular,如果mutliple使用上部字母驼峰套管 - >示例:Person,User,Subject,StudentSubject,StudentGuardian等。
表单类名称:
表格后面的相关模型类 - >示例:PersonForm,UserForm,SubjectForm等。
布尔变量:
适用于is_或has_前缀 - >示例:is_present,is_available,is_online,has_parent等
<强>视图强>:
放入多个模型的文件夹,但是在每个单词之后使用下划线(_)而不是大写字母(在两个字母的情况下)文件名将像函数名一样 - &gt;示例: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'