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/