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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM