kingadmin後臺(5)、新增頁面開發
阿新 • • 發佈:2018-08-12
頁面開發 ado delete btn redirect get valid dir ref
1、路由配置
url(r'^(\w+)/(\w+)/add$', views.add_obj, name='add_obj')
2、視圖函數
def add_obj(request, app_name, model_name): """增加新對象 """ admin_class = site.enable_admins[app_name][model_name] dynamic_form = create_model_form(admin_class, add=True) if request.method == 'GET': form_obj = dynamic_form() return render(request, 'kingadmin/add_obj.html', locals()) elif request.method == 'POST': form_obj = dynamic_form(data=request.POST) if form_obj.is_valid(): form_obj.save() return redirect('/kingadmin/%s/%s' % (app_name, model_name)) errors = form_obj.errors return render(request, 'kingadmin/add_obj.html', locals())
3、前端頁面
{% extends 'kingadmin/change_info.html' %}
{% block readonly_fields_display %}
{% endblock %}
{% block delete_button %}
{% endblock %}
4、頁面新增按鈕
<a href="{% url 'add_obj' app_name model_name %}" style="float: right"> <button type="submit" class="btn btn-default form_btn">ADD {% get_names admin_class %} <span class="glyphicon glyphicon-plus"></span></button> </a> @register.simple_tag def get_names(admin_class): """獲取表名,有中文則獲取中文顯示""" model_class = admin_class.model if model_class._meta.verbose_name: return model_class._meta.verbose_name return model_class._meta.model_name
kingadmin後臺(5)、新增頁面開發