Forms.py文件应该放在哪里? - python

我现在开始写我的第一个Django项目,我需要为应用创建我的forms.py文件。我见过一些教程将文件存储在项目的主文件夹下,而另一些则存储在app目录中。

如果我想制作仅适用于一个应用程序的表单,哪种布局最适合我?
是否可以制作多个文件来保存表单代码?

谢谢!

python大神给出的解决方案

这是标准布局:

├── apps/
|    ├── [app]/
|    |     ├── __init__.py
|    |     ├── urls.py
|    |     ├── models.py
|    |     ├── forms.py # Forms
|    |     ├── admin.py
|    |     ├── views.py
|    |     ├── migrations/
|    |     ├── management/
|    |     ├── templates/ # Here or in the project root
|    |     └── (other)
|    |
|    └── __init__.py
|
...

简而言之:在应用程序中保留与该应用程序相关的所有表格。它在概念上是一致的,直观的,并使代码更易于维护(通过分离)。

多应用程序表单/组件很少见。您可以将它们保留在名为“ common”的应用中。这是一个非常流行的约定。

这样,您就可以轻松地将forms导入到views中:

from .forms import FormA, FormB
# or 
from . import forms
# or
from .forms import *
# and from common:
from ..common import forms as common_forms

关于您的第二个问题:绝对-分离的好处(例如干净的项目布局,可维护性,更冗长的文件名)是否值得解决(例如,导入多个文件而不是一个文件)。没有硬性规定,因此您必须计算权衡并做出决定。

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

用大写字母拆分字符串,但忽略AAA Python Regex - python

我的正则表达式:vendor = "MyNameIsJoe. I'mWorkerInAAAinc." ven = re.split(r'(?<=[a-z])[A-Z]|[A-Z](?=[a-z])', vendor) 以大写字母分割字符串,例如:'我的名字是乔。 I'mWorkerInAAAinc”变成…

如何打印浮点数的全精度[Python] - python

我编写了以下函数,其中传递了x,y的值:def check(x, y): print(type(x)) print(type(y)) print(x) print(y) if x == y: print "Yes" 现在当我打电话check(1.00000000000000001, 1.0000000000000002)它正在打印:<…

Python:检查新文件是否在文件夹中[重复] - python

This question already has answers here: How do I watch a file for changes? (23个答案) 3年前关闭。 我是python的新手,但是我尝试创建一个自动化过程,其中我的代码将侦听目录中的新文件条目。例如,某人可以手动将zip文件复制到一个特定的文件夹中,并且我希望我的代码能够在文件完全…

子条件的python条件覆盖 - python

我试图找到一个python代码覆盖率工具,该工具可以衡量语句中是否包含子表达式:例如,我想看看下面的示例是否涵盖了condition1 / condition2 / condtion3?if condition1 or condition2 or condition3: x = true_value python大神给出的解决方案 对此的唯一合理答案是:当前…