Formda, oraya girmek istemediğim formun en üstüne yeni bir kayıt ekleme bölümü ekleyen bir form widget'ı oluşturdum. Birisi bunu nasıl devre dışı bırakabilirim? Sadece eklenti formundaki değişkenleri görüntülemek istiyorum.Django - Kaldır yeni pencere teçhizatından eklendi Widget>
yüklenir forms.py
class TemplateVariablesWidget(forms.Widget):
template_name = 'sites/config_variables.html'
def render(self, name, value, attrs=None):
sc_vars = ConfigVariables.objects.filter(type='Showroom')
wc_vars = ConfigVariables.objects.filter(type='Major Site')
context = {
'SConfigVariables' : sc_vars,
'WConfigVariables' : wc_vars,
}
return mark_safe(render_to_string(self.template_name, context))
class VariableForm(forms.ModelForm):
variables = forms.CharField(widget=TemplateVariablesWidget, required=False)
class Meta:
model = ConfigVariables
fields = "__all__"
admin.py
class ConfigTemplateAdmin(admin.ModelAdmin):
list_display = ('device_name', 'date_modified')
def change_view(self, request, object_id, form_url='', extra_context=None):
extra_context = extra_context or {}
#extra_context['include_template'] = '/path/to/template.html'
extra_context['include_form'] = VariableForm
return super(ConfigTemplateAdmin, self).change_view(
request, object_id, form_url, extra_context=extra_context,
)
change_view.html
{% block extra_content %}
{% if include_template %}
{% include include_template %}
{% endif %}
{% if include_form %}
<form method="POST" class="post-form">
{% csrf_token %}
{{ include_form.as_p }}
</form>
{% endif %}
{% endblock %}
yılında ancak formu (' VariableForm')
: aşağıda başına ben bir veri içerir seçeneği eklendi ve şablona yoluyla gönderilen "__all __" ') çok açık bir şekilde {{form.as_p}}' ile modelinizin tüm alanları için giriş alanları gösterecektir. – dirkgroten
Doğru bir şekilde anlıyorsam, verileri bir tabloda görüntülemek ve ayrıca tabloda görüntülenen verilerin yeni bir girişini ekleyebilecekleri bir gizli (?) Formuna sahip olmak istersiniz. Bu doğru mu? –