道歉,如果之前已经讨论过,搜索过并搜索过但没有找到任何有用的东西:)
但是这里有。 我们目前正在重写我们的部分网络应用程序。我们的应用程序相当陈旧,因此受到一些相当牛仔式的编程,约定和网址的影响。
我们正在寻找的是一种简单干净的方式来设计我们的观点和网址,以便我们将来更容易维护。
问题是;截至目前,我们的主站点的urls.py文件是一个大混乱。很多网址指向一个只有一个薄的独特视图。 防爆。 list_books /,edit_book / etc. 当谈到特定格式等时,我们有类似list_books_json /
的东西(这些不是实际的网址,但只是用来证明一点,因为真正的网址更糟糕)
我们现在要做的是清理一下。我们想知道最好的方法是什么?
到目前为止我们已经想到了(在阅读了很多关于这个主题的内容之后):
我们考虑过按照以下模式设计我们的网址: 域/对象/动作/
因此应用“工作人员”网站更改应用中的图书的网址将是: 员工/书籍 - 查看所有书籍(GET) 员工/书籍/身份证 - 查看一本书(GET) staff / books / new - 创建新书(POST) 员工/书籍/身份证/编辑 - 编辑特定书籍(POST) 员工/书籍/身份证/删除 - 删除特定书籍(POST)
然后想到只有一个视图,views.staff_books()来处理通过网站“员工”部分处理书籍时的所有这些操作。 以便staff_books()检查ID或某个“动作”(编辑,新建,删除等)
结果会更少,但需要处理员工/书籍各方面的大量视图。现在我们有很多小视图只处理一件事。
这是否有意义,你能看到潜在的问题吗?你们是怎么做到的?
我认为我们迷失的一个地方是格式。 你会把ex放在哪里在json中返回响应的请求? 我们想知道“staff / books.json”或“staff / books / ID.json”等,然后将所有json逻辑保存在相同的“staff_books()”视图中。
基本上就是这样。对不起,这个问题有点“蓬松”......我们基本上需要一些例子或关于如何构建网址和视图的好设计建议。
亲切的问候
皮特
答案 0 :(得分:1)
作为问题的扩展(和解决方案),我建议使用策略模式。既然你已经有了一个结构,唯一不同的是它应该如何执行,这个模式完全适合你的问题。我的意思是:
我认为应该这样做^^ 希望它有所帮助:D