我正在评估概念证明应用程序的框架。该应用程序的生命周期约为30天,此后将被忘记或完全重写。我已经确定我想从现有的数据库模式中自动生成一个示例应用程序,然后调整视觉设计的某些方面。我已经观看了在 Ruby on Rails 上完成此操作的演示:它会为数据库中的每个表自动生成一个简单的视图和数据输入表单,并带有内置分页等。我也已经确定我需要为此项目使用Python,而不是Ruby。
所以我遇到了这个问题:
那里的答案使我想到了 Django 。
是问题。如何使用Django从数据库架构自动生成简单的CRUD应用程序,类似于在RoR上可以完成的工作?
到目前为止,我已经尝试过:
答案 0 :(得分:3)
使用Django的inspectdb生成模型,然后使用Django Admin输入/管理数据。
您将首先create a Django project并运行inspectdb创建模型。然后,您将在项目中create an app,并将创建的模型文件移至替换应用程序中默认的models.py文件。确保启用Django admin。然后,在应用程序中,您将add to the default admin.py归档模型以包括在管理员中。您只需在要输入数据的每种模型中将admin.site.register(ModelName)
包含在admin.py中,即可快速查看管理员。要定制模型的外观,只需创建一个class YourModelAdmin(admin.ModelAdmin)
并定义您希望特定模型出现的方式。
设置基本的管理站点实际上非常快捷,这是Django的强项之一。
答案 1 :(得分:0)
正如Dan所指出的,我们可以使用inspectdb来生成模型文件,一旦有了models.py
个文件,我们可以将其集成到admin.py
手动中,也可以通过添加所有文件来完成;我们需要更新urls.py
以包括管理员生成的视图。
除非我们有一些自定义视图,否则这将不会有用,您可以在模型中添加数据并在管理面板中查看它们。管理员视图也支持分页。管理员视图中还有许多功能,就像具有添加的方法和字段的传统python类一样。