零碎示例整理

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

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也提供了解决方案

    <form id="form" method="post" action="..." onsubmit="return submit_post()">.......</form>

    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)


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容