• Django笔记:常见故障排除


    Django框架下MySQLdb模块在python3中无法使用的问题的解决方案

      由于python3环境下目前还没有官方的mysqldb模块,Django框架中又强制要求使用mysqldb,为了解决这个问题,可以按照以下方法:

      原文链接:http://www.cnblogs.com/xwang/p/3727741.html

      在应用下的__init__中加入以下两行即可

        import pymysql
        
    pymysql.install_as_MySQLdb()

    也就是说,用pymysql来代替mysqldb其余均不用修改。

    在python2下如果提示mysqldb相关的问题,也可以采用这个方法,用pymysql代替mysqldb

    Microsoft Visual C++ 9.0 is required 解决办法

    参考:http://blog.csdn.net/sepnineth/article/details/50562708

    无法正常安装MySQLdb,提示:pip install mysql-python fails with EnvironmentError: mysql_config not found 

      解决办法:yum install python-devel mysql-devel

     

    启动Django出现错误提示:django.db.utils.OperationalError: (1130, "Host 'node1' is not allowed to connect to this MySQL server")

      原因:这是因为mysql服务器中的mysql权限表设置问题,将user表对应的用户的host设置成%即可。

    在命令行下运行python manage.py runserver/python manage.py createsuperuser时提示错误:ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

      原因:

        1.没有安装django

        2.设置了virtualenv虚拟环境但没有激活虚拟环境

        3.django路径没有加入到pythonpath中

        4.django版本问题

      解决办法:

        根据原因逐一排查即可,版本原因的话重装django即可:pip install django==1.11安装过程会主动覆盖原有程序

    Linux 下运行Django时提示 No module named _sqlite3

      解决:

      1,首先安装 sqlite-devel

      yum install sqlite-devel

      2,重新编译安装Python

        ./configure

        make

        make install 

        来自 <http://blog.csdn.net/chenggong2dm/article/details/24362823

    yum命令升级的时候报错: 

      There was a problem importing one of the Python modules
      required to run yum. The error leading to this problem was:

      No module named yum

      Please install a package which provides this module, or
      verify that the module is installed correctly.

      It's possible that the above module doesn't match the
      current version of Python, which is:
      2.7.5 (default, Sep  3 2013, 23:16:48)
      [GCC 4.6.3 20120306 (Red Hat 4.6.3-2)]

      解决方法:

        sudo vim /usr/bin/yum

        #修个python所在的路径。比如
        #/usr/local/bin/python2.6

        来自 <http://www.cnblogs.com/mfrbuaa/p/5166582.html

    Django运行访问项目出现的问题:DisallowedHost at / Invalid HTTP_HOST header

      来自 <http://blog.csdn.net/will5451/article/details/53861092

     

    安装mysqldb 后提示:ImportError DLL load failed: %1 不是有效的 Win32 应用程序

      操作系统:win7 64位,安装mysqldb 后提示:ImportError DLL load failed: %1 不是有效的 Win32 应用程序,是由于安装的32位的 MySQL-Python-1.2.3.win32-py2.exe,,只要改成64位版本的就可以了。

      如果没有找到,可以使用如下链接下载:

      32位:http://download.csdn.NET/detail/seven_zhao/6607621

      64位:http://download.csdn.Net/detail/seven_zhao/6607625

      也可以在如下地址下载:

                 http://www.codegood.com/downloads

      来自 <http://blog.csdn.net/seven_zhao/article/details/16945043

    Django使用Article.objects.filter(tag__icontains='xxx')查询的时候提示Related Field got invalid lookup: icontains错误

      原因:models类Article的tag字段使用的不是普通的Field而是manytomanyField,所以提示错误。

      解决办法:对于使用了foreignkey、onetomanyField、manytomanyField的字段,不能直接使用过滤方法,而要采用

      "本表字段__关联表的对应字段__过滤条件=xxx"这种查询方法

      同样的问题也存在于admin.py的设置中:

        This error raised if use search_fields in admin.py. E.x:

        class AnotherModel(models.Model):
          txt = models.CharField(_('Text'), max_length=255)

        class MyModel(models.Model):
          prop = models.ForeignKey(AnotherModel)

      改为:

        class MyModelAdmin(admin.ModelAdmin):
          search_fields = ('prop__txt')  #必须使用"本表字段__关联表查询字段"的方式注册

          来自 <https://code.djangoproject.com/ticket/2331>

      参考文章:  https://docs.djangoproject.com/en/1.11/ref/models/querysets/#exact

             http://blog.163.com/db_lobster/blog/static/9639092200912033535845/

  • 相关阅读:
    02基础软件安装
    01系统软件安装
    dmesg命令
    perl 远程连接oracle
    延时取消订单还在用定时任务?来看mq的实现
    微信公众号开发Java版-学习总结
    (转)SQL Server 2008 允许远程连接的解决方法
    java生成pdf并加水印,通过wkhtmltopdf实现
    boostrap-table表格插件笔记
    art-template笔记
  • 原文地址:https://www.cnblogs.com/zhangjpn/p/6838572.html
Copyright © 2020-2023  润新知