如何在Django中向现有模型添加数据?
时间:2020-03-05 18:45:39 来源:igfitidea点击:
目前,我正在编写一些基于产品的CMS作为我的第一个项目。
这是我的问题。如何向产品模型添加其他数据(产品)?
我已经在我的urls.py中添加了" / admin / products / add",但我真的不知道从那里去哪里。我将如何构建视图和模板?请记住,我不太了解Python,而我对Django还是很陌生
我如何在不使用此现有django管理界面的情况下完成所有操作。
解决方案
回答
请遵循Django教程来设置应用程序的"管理员"部分。这将允许我们修改数据库。
Django管理员设定
或者,我们可以使用标准工具直接连接到数据库,无论使用哪种数据库类型。
回答
Django教程中涵盖了该主题。
回答
我们将需要将URL连接到Django create_object通用视图,然后将其传递给"模型"(要创建的模型)或者" form_class"(自定义的ModelForm类)。我们还可以传递许多其他参数来覆盖默认行为。
最简单的示例URLconf:
from django.conf.urls.defaults import * from django.views.generic.create_update import create_object from my_products_app.models import Product urlpatterns = patterns('', url(r'^admin/products/add/$', create_object, {'model': Product}))
模板将获得上下文变量" form",只需将其包装在<form>标记中并添加一个Submit按钮。最简单的工作模板(默认情况下应放在" my_products_app / product_form.html"中):
<form action="." method="POST"> {{ form }} <input type="submit" name="submit" value="add"> </form>
请注意,产品模型必须具有get_absolute_url方法,否则我们必须将post_save_redirect参数传递给视图。否则,保存后它将不知道重定向到的位置。