我一直在使用django为菜单系统编写一个相当复杂的面向对象模型。以编程方式创建django模型
最近我考虑过允许管理员创建'build_menu'对象的想法。
理想的情况是将输入提供一个名称,一旦创建了菜单将有:
- 通话的Django的startApp菜单
- views.py,models.py和admin.py从副本菜单的应用程序,与类名替代类名
- 追加到urls.py中,以包括“菜单”
- 追加“.prefix_menu”到新的领域INSTALLED_APPS settings.py中
- 蟒蛇manage.py执行syncdb
- pkill的蟒蛇(Dreamhost上所以我需要重新启动的过程中在屏幕上看到新的变化)
显然没有通用的实施,会为我做这件事,但更大的问题是:这可能吗?是否可以将这些命令写入脚本以便从服务器端执行,并且在django管理站点上创建新的“build_menu”对象后,让它运行该脚本,然后在完成时刷新页面?或者这是我无法从管理网站做的事情?
你或许可以编写这样一个脚本,从挂在管理站点的自定义视图运行。但是,它真的是你想要做的吗?我非常*强烈考虑重新构建层次结构,以便可以从数据库完成这种事情,而不是从服务器端修改代码。 (如果出现问题 - 并且使用文件系统和网络服务器以及代码生成等等,任何事情都可能出错 - 您可能会损坏整个网站,直到有人进来并手动修复事情。) – Dougal 2012-01-27 19:53:24
我同意,我知道这是不是最好的方式去做,但我试图找出如何改变实现,使其以django fied的方式工作。 – 2012-01-27 21:29:20