通过ajax上传图片。可以选择调整图像大小。
django2-ajaximage的Python项目详细描述
django Ajax图像
Ajax图像上传
通过ajax上传图片。可以选择调整图像大小。在
在https://github.com/bradleyg/django-ajaximage上优化。在
附加功能:
- 正确显示只读字段
- 支持django2及以上
upload_to
支持日期时间字符串格式- 将FileField更改为ImageFileField以与ImageField兼容
- 添加format_image方法以使用相同的格式显示自定义图像字段
在from ajaximage.utils import format_image class xxxAdmin(ModelAdmin): ... def some_field(obj): return format_image(obj.some_field.ajaximagefield)
支持
Python3 Django>;2.0 Chrome/Safari/Firefox/IE10+
安装
使用Pip安装:
pip install django-ajaximage
Django设置
在设置.py
^{pr2}$在网址.py
urlpatterns+=[path('ajaximage/',include('ajaximage.urls')),]
{cd3>如果需要,请运行}。在
仅在Django admin中使用
在模型.py
fromdjango.dbimportmodelsfromajaximage.fieldsimportAjaxImageFieldclassExample(models.Model):thumbnail=AjaxImageField(upload_to='thumbnails',max_height=200,#optionalmax_width=200,# optionalcrop=True)# optional# if crop is provided both max_height and max_width are required
以自定义形式使用小部件
在表单.py
fromdjangoimportformsfromajaximage.widgetsimportAjaxImageWidgetclassAjaxImageUploadForm(forms.Form):images=forms.URLField(widget=AjaxImageWidget(upload_to='form-uploads'))
在视图.py
fromdjango.views.genericimportFormViewfrom.formsimportAjaxImageUploadFormclassMyView(FormView):template_name='form.html'form_class=AjaxImageUploadForm
模板/表单.html
<html><head><metacharset="utf-8"><title>ajaximage</title> {{ form.media }} </head><body> {{ form.as_p }} </body></html>
示例
这两种方法的示例可以在Examples文件夹中找到。运行它们:
$ git clone git@github.com:bradleyg/django-ajaximage.git $ cd django-ajaximage $ python setup.py install $ cd example $ python manage.py migrate $ python manage.py createsuperuser $ python manage.py runserver
访问http://localhost:8000/admin
查看管理小部件,http://localhost:8000/form
查看自定义表单小部件。在
- 项目
标签: