如何解决Django 1.8在migrate时失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决Django 1.8在migrate时失败相关的知识,希望对你有一定的参考价值。

参考技术A 1. 创建项目 运行下面命令就可以创建一个 django 项目,项目名称叫 mysite : $ django-admin.py startproject mysite 创建后的项目目录如下: mysite ├── manage.py └── mysite ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py 1 dir...

如何通过 Django 通道共享文件,现在有不完整的解决方案,例如来自 S3 存储桶和所有

【中文标题】如何通过 Django 通道共享文件,现在有不完整的解决方案,例如来自 S3 存储桶和所有【英文标题】:How to Share Files Through Django Channels, now there are incomplete solutions like from S3 buckets and all 【发布时间】:2021-02-02 06:34:14 【问题描述】:

我正在用 Django 开发一个聊天应用程序,我想通过 django 频道共享文件。我刚刚找到了一些基于这个主题的解决方案,但都是不完整的。 所以请帮我弄清楚。 现在我正在发送类似下面提到的代码的消息..

document.querySelector('#chat-message-submit').onclick = function(e) 
          let msg = $('#chat-message-input').val()

            var messageInputDom = document.querySelector('#chat-message-input');
            var message = messageInputDom.value;
            chatSocket.send(JSON.stringify(
              'command':'new_message',
              'message': message,
              'from': username,
              
            ));
            

            messageInputDom.value = '';
          

【问题讨论】:

【参考方案1】:

只需将该文件转换为 base64 并将其作为 json 及其类型发送,然后只有您可以从数据库中正确检索它。

        const reader = new FileReader();
        reader.readAsDataURL(blob)
        reader.onload = (e) => 
          base64_data = e.target.result;
            base64_value(base64_data)
        
    chatSocket.send(JSON.stringify(
               'command':'new_message',
              'message': base64_data,
              'from': username,
              'msg_type':type
          
        ));

【讨论】:

请注意,base64 会增加数据的大小;可能超过 30%

以上是关于如何解决Django 1.8在migrate时失败的主要内容,如果未能解决你的问题,请参考以下文章

如何解决Django 1.8在migrate时失败

Django 1.8 和 syncdb / migrate 的 auth_user 错误

Django 1.8 - migrate 和 makemigrations 有啥区别?

PyTest-Django 在缺少 django_migration 表时失败

如何在 django (1.8) 迁移中删除索引 varchar_pattern_ops?

django 远程数据库mysql migrate失败报error 1045之 解决方案