目前,我正在编写一些基于产品的 CMS 作为我的第一个项目。
这是我的问题。如何向我的产品模型添加其他数据(产品)?
我已将“/admin/products/add”添加到我的 urls.py,但我真的不知道从那里去哪里。我将如何构建我的视图和模板?请记住,我真的不太了解 Python,而且我对 Django 很陌生
如果不使用这个现有的 django 管理界面,我怎么能做到这一切。
您需要将您的 URL 连接到 Django create_object 通用视图,并将其传递给“model”(您要创建的模型)或“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> 标记中并添加提交按钮。最简单的工作模板(默认情况下应该放在“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 参数传递给视图。否则它不知道保存后重定向到哪里。
Django 教程中涵盖了这个主题。