저는 Djangoer를 새로 작성하고 맞춤 위젯을 만드는 방법을 알아 냈습니다. 양식에서 MySelectWidget을 사용하여 MEDIA_URL 자체를 가져올 수 있지만 내 위젯 템플릿에서 MEDIA_URL을 가져올 수 없습니다. Django 위젯 템플릿에서 MEDIA_URL을 가져올 수 없습니다.
#
#plus_sign.html
#
<a href="" class="" id="id_{{ field }}">
<img src="{{ MEDIA_URL }}images/plus_sign.gif" width="10" height="10" alt="Add"/>
</a>
는 ^이 위젯의 템플릿에 {{MEDIA_URL}}를로드 할 수 없습니다, 따라서 나는 제대로 .gif 참고 이미지를로드 할 수 없습니다. :(
#
#custom_widgets.py
#
from django import forms
class MySelectMultiple(forms.SelectMultiple):
def render(self, name, *args, **kwargs):
html = super(MySelectMultiple, self).render(name, *args, **kwargs)
plus = render_to_string("plus_sign.html", {'field': name})
return html+plus
#
#forms.py
#
from django import forms
from myapp.custom_widgets.py import MySelectMultiple
class MyForm(forms.ModelForm):
contacts = forms.ModelMultipleChoiceField(Contact.objects, required=False, widget=MySelectMultiple)
#
#views.py
#
def AddContacts(request):
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
new = form.save()
return HttpResponseRedirect('/addedContact/')
else:
form = MyForm()
return render_to_response('shop/my_form.html', {'form': form}, context_instance=RequestContext(request))
#
#my_form.html
#
{% extends "base.html" %}
{% block content %}
{{ form.contacts }}
{% endblock %}
제가 제대로 위젯의 이미지를로드 할 수있는 방법을 알려 주시기 바랍니다. 모든 응답 주셔서 너무 감사드립니다.
는 그래서 우리가 심지어 특정의 이미지 소스에 대한 CSS를 사용해야합니다 의미하지 않는다 당신에게 @Jj – Eric
너무 감사합니다 이미지 경로 위치? – Eric