【问题标题】:How to auto-generate a sample Django application from a database schema?如何从数据库模式自动生成示例 Django 应用程序?
【发布时间】:2019-02-23 21:49:04
【问题描述】:

我正在评估概念验证应用程序的框架。此应用程序将有大约 30 天的生命周期,之后它将被遗忘或完全重写。我已经确定我想从现有的数据库模式中自动生成一个示例应用程序,然后只调整视觉设计的某些方面。我看过一个在 Ruby on Rails 上完成的演示:它为数据库中的每个表自动生成一个简单的视图和数据输入表单,内置分页等。我也已经确定我需要为这个项目使用 Python,而不是 Ruby。

所以我想到了这个问题:

Python on Rails?

那里的答案将我引向 Django

所以问题。如何使用 Django 从数据库模式自动生成一个简单的 CRUD 应用程序,类似于在 RoR 上可以完成的操作?

到目前为止我所尝试的:

【问题讨论】:

    标签: python django cookiecutter-django


    【解决方案1】:

    使用 Django 的inspectdb 生成模型,然后使用 Django Admin 输入/管理数据。

    您首先要create a Django project 并运行inspectdb 来创建模型。然后,您将在项目中 create an app,并移动您创建的模型文件以替换应用程序中的默认 models.py 文件。确保启用Django admin。然后,在应用程序中,您将 add to the default admin.py 归档模型以包含在管理员中。您可以通过在 admin.py 中为要输入数据的每个模型包含 admin.site.register(ModelName) 来快速查看管理员。要定制模型的呈现方式,您只需创建一个class YourModelAdmin(admin.ModelAdmin) 并定义您希望特定模型的显示方式。

    设置一个基本的管理站点实际上非常快,也是 Django 的强项之一。

    【讨论】:

      【解决方案2】:

      正如 Dan 指出的那样,我们可以使用 inspectdb 来生成模型文件,一旦我们有了 models.py 文件,我们就可以将其集成到 admin.py 手册中,或者可以通过添加所有这些文件来完成;我们需要更新urls.py 以包含管理员生成的视图。

      除非我们有一些自定义视图,否则这不会很有用,您可以在模型中添加数据并在管理面板中查看它们。管理视图也支持分页。管理视图中还有更多功能,就像传统的 Python 类一样,添加了方法和字段。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-01
        • 2021-01-08
        • 2012-10-19
        • 2018-12-05
        • 2010-12-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多