我的 Django 应用程序应该有多少个单独的应用程序
Posted
技术标签:
【中文标题】我的 Django 应用程序应该有多少个单独的应用程序【英文标题】:How many separate apps should I have with my Django app 【发布时间】:2021-12-19 05:11:42 【问题描述】:我的 Django 项目中应该有多少个应用程序。例如,我正在构建一个宠物应用程序,其中可以有主人、宠物、兽医等。
现在只坚持我提到的 3 个,我应该在我的 Django 项目中将它们作为单独的应用程序,还是应该只创建一个应用程序来处理所有事情。随着时间的推移,我会添加更多功能。
我的想法是创建一个项目
django-admin startproject mypets
然后为每个创建一个应用程序:
python manage.py startapp pet
和
python manage.py startapp pet_owner
和
python manage.py startapp veterianarian
正如我之前提到的,我将在我的应用程序中添加其他功能,例如照片待办事项等功能。我担心我的项目会变得很大,这就是为什么我想将pet_owner
和pet
分别作为他们自己的应用程序。我在想这正是我应该做的,但后来意识到当我转到mypets.urls.py
文件并且我正在考虑将一些请求转发到路径时,我很快意识到我希望我的路由始终具有mypets/
。
urlpatterns = [
path('admin/', admin.site.urls),
path('mypets/petowner/', include('petowner.urls')),
path('mypets/pet/', include('pet.urls')),
]
但它们在某种程度上似乎是分开的,我不希望它们如此。例如。我关心拥有mypets/petowner/<petowner-id>/pets/
等。它们将彼此密切相关,我将在我的模型中使用关系。我想要的分离主要是为了组织和可读性。我不希望有一个包含大量代码的文件models.py
- 我认为这既丑陋又混乱。
我计划将来在我的前端使用React
,但是因为我正在努力学习 Django,所以我将坚持使用完整的 Django 应用程序并使用 Django 模板。不确定这是否重要,但我想我会提到它以防万一。
【问题讨论】:
【参考方案1】:这是个好主意,可以让项目更有条理,特别适合您
如果你想在未来开发你的代码,这对你很有用
如果您的网址有问题,现在我有一个建议,您可以在您的应用程序中创建一个类似url.py
的文件,其中包含您的应用程序网址,然后您可以返回主网址并将其提供给网址,您似乎知道这种方式
-
首先运行您的应用并制作它
现在可以在应用程序文件夹中创建一个类似
urls.py
的文件
现在您可以编写您的网址并在您所知道的 urlpattern 中写入您的网址
在完成之前,请确保在主 url.py
中您必须包含其他制作的网址
urlpatterns = [
path('', include('petowner.urls')),
path('admin/', admin.site.urls),
]
如果涉及到你太多,也许这对更改你的名字很有好处,并在那个应用程序中写下你的网址,这样你可以更有条理,并在你的 app/urls.py
中提供你的前缀或任何东西
【讨论】:
感谢您的回复。我想知道是否因为pet_owner
和pet
密切相关并且没有另一个就都不存在,pet_owner
可以但没有pet
做不了多少,然后我扩展我的应用程序以包括veterinary hospitals
,@ 987654331@,appointments
,等等。我认为这就像它自己的应用程序一样独立。所以也许像pets
这样的东西可以是一个应用程序,local_hospitals
可以是另一个应用程序等等。所以我不会把所有东西都分开,而是分开那些真正与其他东西没有任何关系的应用程序。但我当然会将这些连接起来一起工作。
欢迎您,我希望这个回复对您有所帮助,我完全同意应用程序您可以做到可读性更高,一切都安全且花花公子。以上是关于我的 Django 应用程序应该有多少个单独的应用程序的主要内容,如果未能解决你的问题,请参考以下文章
我应该在我的 C# 应用程序中使用多少个 DataTable 对象?
我应该对我的所有应用程序运行 Django“makemigrations”吗?
如何将模型从一个 django 应用程序迁移到一个新应用程序中?
关于 Facebook 应用程序 ID 和应用程序密码以及我在多少个单独的“应用程序”上使用相同的应用程序 ID/密码,是不是存在任何数量问题?