我有一个烧瓶项目,允许用户创建项目并将文件上传到这些项目。 URL结构类似于/projects/<project_id>/documents/<document_id>
。
我的问题是,我正在为处理项目和文档的所有视图(列表视图,要显示的视图等等)重复/projects/
和/documents/
所以我以为我可以用蓝图让生活更轻松。我决定我可以组织这样的代码:
app
projects
views.py
forms.py
__init__.py
documents
views.py
forms.py
__init__.py
views.py
__init__.py
run.py
但是,documents
和projects
中都使用了表单(以及可插入的视图)。
我的问题是,我如何才能在两个蓝图之间找到共同的代码?也可能有更简单的方法来实现这一点(因为我真正需要的是避免输入URL的冗余),我很乐意听到一个。
答案 0 :(得分:1)
由于每个项目可以有多个文档,并且假设一个文档无法在多个项目中共享,我建议您只创建一个&#34;项目&#34;蓝图并把&#34;文件&#34;在它下面作为一个包。类似的东西:
app/
projects/
views.py
forms.py
__init__.py
documents/
views.py
forms.py
__init__.py
views.py
__init__.py
run.py
现在,在Projects / forms.py下,您可以添加与Documents相关的所有常用代码。此外,文档有自己的forms.py,但这可能只对文档非常具体。