如何在Django中向现有模型添加数据?

时间:2008-08-31 12:11:10

标签: python django

目前,我正在编写一些基于产品的CMS作为我的第一个项目。

这是我的问题。如何在产品型号中添加其他数据(产品)?

我已将'/ admin / products / add'添加到我的urls.py中,但我真的不知道从那里去哪里。我如何构建我的视图和模板?请记住,我并不是真的知道那么多Python,而且我是Django的新手

如果不使用现有的django管理界面,我怎么能这样做呢。

3 个答案:

答案 0 :(得分:7)

您需要将URL连接到Django create_object generic view,并将其传递给“model”(您要创建的模型)或“form_class”(自定义ModelForm类)。您还可以传递一些other arguments来覆盖默认行为。

最简单案例的示例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>中即可。标记并添加提交按钮。最简单的工作模板(默认情况下应该在“my_products_app / product_form.html”中):

<form action="." method="POST">
  {{ form }}
  <input type="submit" name="submit" value="add">
</form>

请注意,您的Product模型必须具有get_absolute_url方法,否则您必须将post_save_redirect参数传递给视图。否则,它将无法知道保存后重定向到哪里。

答案 1 :(得分:-1)

按照Django教程设置应用程序的“admin”部分。这将允许您修改数据库。

Django Admin Setup

或者,您可以使用标准工具直接连接到数据库,无论您使用何种数据库类型。

答案 2 :(得分:-1)

Django tutorials中介绍了此主题。