Django使用过程中出现的问题及解决方法

一、无法上传较大文件包

>> 解决方法:

在setting文件中加入以下配置:

#限制上传最大的文件大小为200M
FILE_UPLOAD_MAX_MEMORY_SIZE = 200*1024*1024
DATA_UPLOAD_MAX_MEMORY_SIZE = 200*1024*1024

二、配置多个数据库

1、创建数据库路由文件,并在setting文件中指定

2、数据库路由文件内容:


class appRouter(object):  # 配置meetMysql的路由,去连接mysql数据库
    """
    A router to control all database operations on models in the app02 application.
    """

    def db_for_read(self, model, **hints):
        """
        Attempts to read app02 models go to hvdb DB.
        """
        if model._meta.app_label == 'employMysql':  # app name(如果该app不存在,则无法同步成功)
            return 'employMysql'  # hvdb为settings中配置的database节点名称,并非db name。dbname为testdjango
        return None

    def db_for_write(self, model, **hints):
        """
        Attempts to write app02 models go to hvdb DB.
        """
        if model._meta.app_label == 'employMysql':
            return 'employMysql'
        return None

3、DAO层编写时指定“app_label”

三、Django时间配置

>>问题:Django默认使用协调世界时(又称世界统一时间,简称UTC),使程序执行时使用了UTC时区时间,会导致log文件里面记录的时间比当前时间(北京时间)慢8小时。

>>解决:在settings文件中,修改为TIME_ZONE = 'Asia/Shanghai',注释掉USE_TZ = True

四、Django使用Redis集群

django访问Redis单机版跟Redis集群 需要使用不同的 settings文件配置。参考:django2.0.6 连接使用redis集群 - September· - 博客园

1、安装django-cluster-redis包:

  pip install django-redis  # 注意 django-redis版本需要 >= 4.7.0 

  pip install django-cluster-redis

2、在django项目中的settings文件中配置:

CACHES = {
  'default': {
    'BACKEND': 'django_redis.cache.RedisCache',
    'LOCATION': [
    'redis://10.248.XXX.XXX:6379/',
  ],  # 格式为 redis://IP:PORT/db_index,数据库编号可为空,默认为0号
    'OPTIONS': {
      'REDIS_CLIENT_CLASS': 'rediscluster.RedisCluster',
      'CONNECTION_POOL_CLASS': 'rediscluster.connection.ClusterConnectionPool',
      'CONNECTION_POOL_KWARGS': {
        'skip_full_coverage_check': True # AWS ElasticCache has disabled CONFIG commands
      }
    }
  }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值