CRM项目开发(七)
1. 添加–创建页面
添加功能在前面的编辑基础上继承,相对来说就简单太多,没有太多的修改。
1.1 创建页面路由
urlpatterns = [ url(r'^$', views.index, name='table_index'), url(r'^(\w+)/(\w+)/$', views.display_objects, name='display_objects'), url(r'^(\w+)/(\w+)/(\d+)/edit/$', views.table_object_edit,name="table_object_edit"), url(r'^(\w+)/(\w+)/add/$', views.table_object_add,name="table_object_add"),#添加页面的路由 ]
1.2 创建页面模板文件
- 在
templates/king_admin/目录下创建模板文件:table_object_add.html,并继承编辑文件内容:
{% extends 'king_admin/table_object_edit.html' %}
{% block top %}
<div class="panel-heading">
<button class="btn btn-success pull-right" ><a href="{% url 'king_admin:display_objects' app_name table_name %}" style="color: white">返回</a></button>
</div>
{% endblock %}
上面的块内容包含的是返回键按钮。
1.3 创建页面视图函数
添加功能的视图函数和编辑页面基本上是大同小异:
def table_object_add(request, app_name, table_name): admin_class = site.enabled_admins[app_name][table_name] model_form = create_model_form(request, admin_class) if request.method == 'POST': form_object = model_form(request.POST) if form_object.is_valid(): form_object.save() return redirect('/king_admin/{app_name}/{table_name}'.format(app_name = app_name, table_name = table_name)) else: form_object = model_form() return render(request, 'king_admin/table_object_add.html', {'admin_class': admin_class, 'form_object': form_object, "app_name": app_name, "table_name": table_name})
其中的redirect()比较关键,添加后返回的url。

浙公网安备 33010602011771号