2014-04-02 45 views
0

是否可以在django admin中包含模型表單模板,如下所示?將模板表單包含到django管理員

models.py

class Customer(models.Model): 
    name = models.CharField(max_length=20) 
    designation = models.CharField(max_length=20) 
    gender = models.BooleanField() 

forms.py

class CustomerForm(forms.ModelForm) 
    gender = forms.TypedChoiceField(
      choices=GENDER_CHOICES, widget=forms.RadioSelect(renderer=HorizontalRadioRenderer), coerce=int,) 
    class Meta: 
     model = Customer 

template.html

<form action="{% url 'verinc.views.customerView' %}" method="POST">{% csrf_token %} 
{{ form.as_p }} 
    <input id="submit" type="button" value="Click" /></form> 

的views.py

def customerView(request): 
    if request.method == 'POST': 
     form = CustomerForm(request.POST) 
    else: 
     form = CustomerForm() 
return render_to_response('myapp/template.html', {'form' : form,}) 

admin.py

class CustomerInline(admin.StackedInline) 
    model= Customer 
    form = CustomerForm 
    template = 'myapp/template.html 

當我在url (localhost/myapp/customer)查看的形式,它可以正確顯示的所有字段。但是當我在管理頁面查看它時,它只顯示塊中的提交按鈕。我的要求是在管理頁面中使用模板查看錶單,以便我可以使用一些AJAX腳本進行進一步處理。任何幫助最受讚賞。

回答

0

那麼,這是不可能的。但您可以這樣實現:

您應該在您的應用customer中創建名爲admin_views.py的文件。

然後在你的urls.py添加URL就像

(r'^admin/customer/customerView/$', 'myapp.customer.admin_views.customerView'), 

撰寫您admin_views.py喜歡裏面的視圖實現:

from myapp.customer.models import Customer 
from django.template import RequestContext 
from django.shortcuts import render_to_response 
from django.contrib.admin.views.decorators import staff_member_required 


def customerView(request): 
    return render_to_response(
     "admin/customer/template.html", 
     {'custom_context' : {}}, 
     RequestContext(request, {}), 
    ) 
customerView = staff_member_required(customerView) 

而且你的管理模板內側延伸base_site.html像這樣的:

{% extends "admin/base_site.html" %} 

{% block title %}Custmer admin view{% endblock %} 

{% block content %} 
<div id="content-main"> 
    your content from context or static/dynamic... 
</div> 
{% endblock %} 

就是這樣。管理員登錄後點擊新的網址。備註未經測試 :)。

+0

是的,以及這工作正常在其他網址。我的要求是我有管理頁面中的其他模型,我需要在添加頁面中嵌入上述內容。 – Ria