class PostulacionForm(forms.ModelForm): plan_de_desarrollo = forms.FileField(widget=widgets.AdminFileWidget(), required=False) fotografias = forms.FileField(widget=widgets.AdminFileWidget(), required=False) matriculas_discapacidad = forms.FileField(widget=widgets.AdminFileWidget(), required=False) class Meta: model = Postulacion exclude = ('inscrito', 'postulacion_criterio_requisito', 'postulacion_pregunta_subcategoria_categoria',)
class Meta: model = VideoFile fields = ('title','description','path', 'preview', 'tags') widgets = { 'preview':admin_widgets.AdminFileWidget(attrs={}), 'path':admin_widgets.AdminFileWidget(attrs={}), 'description':forms.Textarea(attrs={'cols':'80','rows':'5'}), 'tags':admin_widgets.FilteredSelectMultiple(u'метки', 0) }
class Meta: model = Event fields = [ 'name', 'description', 'image', 'category', 'ticket_price', 'ticket_sale_price', 'ticket_quantity', 'street_address', 'city', 'state', 'country', 'start_time', 'end_time', ] widgets = { 'image': widgets.AdminFileWidget( attrs={ 'class': 'file w-100', 'data-browse-on-zone-click': 'true', }) } help_texts = { 'image': 'Upload images with a 4:3 or 16:9 aspect ratio' }
class Meta: model = Photo fields = ('title','description','image', 'tags') widgets = { 'description':forms.Textarea(attrs={'cols':'80','rows':'5'}), 'tags':admin_widgets.FilteredSelectMultiple(u'метки', 0), 'image':admin_widgets.AdminFileWidget(attrs={}) }
def test_render(self): band = models.Band.objects.create(name='Linkin Park') album = band.album_set.create(name='Hybrid Theory', cover_art=r'albums\hybrid_theory.jpg') w = widgets.AdminFileWidget() self.assertHTMLEqual( w.render('test', album.cover_art), '<p class="file-upload">Currently: <a href="%(STORAGE_URL)salbums/hybrid_theory.jpg">albums\hybrid_theory.jpg</a> <span class="clearable-file-input"><input type="checkbox" name="test-clear" id="test-clear_id" /> <label for="test-clear_id">Clear</label></span><br />Change: <input type="file" name="test" /></p>' % {'STORAGE_URL': default_storage.url('')}, ) self.assertHTMLEqual( w.render('test', SimpleUploadedFile('test', b'content')), '<input type="file" name="test" />', )
def test_render_escapes_html(self): class StrangeFieldFile(object): url = "something?chapter=1§=2©=3&lang=en" def __unicode__(self): return u'''something<div onclick="alert('oops')">.jpg''' widget = widgets.AdminFileWidget() field = StrangeFieldFile() output = widget.render('myfile', field) self.assertFalse(field.url in output) self.assertTrue( u'href="something?chapter=1&sect=2&copy=3&lang=en"' in output) self.assertFalse(unicode(field) in output) self.assertTrue( u'something<div onclick="alert('oops')">.jpg' in output)
class Meta: model = Listing fields = [ 'title', 'description', 'price', 'category', 'bedrooms', 'bathrooms', 'pools', 'lot_size', 'street_address', 'city', 'state', 'zipcode', 'country', 'photo_main', 'photo_1', 'photo_2', 'photo_3', 'photo_4', 'photo_5', 'photo_6', ] widgets = { 'photo_main': widgets.AdminFileWidget(attrs={ 'class': 'file w-100', 'data-browse-on-zone-click': 'true', }) } help_texts = { 'photo_main': 'Upload images with a 4:3 or 16:9 aspect ratio' }
class PreguntaForm(forms.ModelForm): respuesta = forms.CharField(widget=forms.Textarea(attrs={'cols': 105}), required=False) anexo = forms.FileField(widget=widgets.AdminFileWidget(), required=False, help_text="Anexe de manera opcional el soporte en formato PDF.") class Meta: model = Postulacionpreguntasubcategoriacategoria exclude = ('pregunta_subcategoria_categoria',)
class RequisitoForm(forms.ModelForm): respuesta = forms.CharField(widget=forms.Textarea(attrs={'cols': 110}), required=False) anexo = forms.FileField(widget=widgets.AdminFileWidget(), help_text="Anexe el respectivo soporte en formato PDF.") class Meta: model = Postulacioncriteriorequisito exclude = ('criterio_requisito',)