零碎示例整理

记录一些遇到的坎,为自己为他人

File 读取Image 不保存

File读取PIL.Image,但不保存到本地。

业务场景:生成图片后存储在数据库中,如果生成的图片保存在本地再存储到数据库的话会存在两张图,因此要求读取Image后保存。

而网上都是Image.open(file_path) Image读取File和img.save(file_name, format)保存到本地的例子。

解决方案:

from io import  BytesIO

output = BytesIO()
img.save(output, 'PNG')
django_file = File(output)

img.save第二个参数 format对应图片格式,不加会抛异常。


模板校验后提交Form表单

业务场景: Form表单需要校验,如果校验通过提交Form,否则弹出提示信息。

解决方案: Form 添加onsubmit事件,绑定返回布尔值的方法(返回false阻止提交,返回true自动提交),顺便提一句,后台校验还是很有必要的,Django也提供了解决方案

    
.......
function submit_post(){ var name = $('.input').val(); // 获取输入框内容 if(name === undefined || name.length < 2){ // 输入值长度小于2提示用户 alert('Please enter the correct user name'); return false; } $('.form').submit(); return true; }

参考:[How do I stop form from automatically submitting? (Django/jQuery)]
(https://stackoverflow.com/a/21367360/8258566)


你可能感兴趣的:(零碎示例整理)