Centos7上部署Django項目會出現 ImportError: cannot import name MiddlewareMixin的錯誤


在嵌入式設備上部署一直沒問題,而部署在Linux Centos7 上出現此問題,一般是因為版本問題導致。
解決方法 安裝 pip3 install Django==1.11.1
然而又出現下面 ImportError: cannot import name patterns
vim touch/extra_apps/DjangoUeditor/urls.py

# coding:utf-8
from django import VERSION

if VERSION[0:2] > (1, 3):
from django.conf.urls import patterns, url
else:
from django.conf.urls.defaults import patterns, url

from .views import get_ueditor_controller

urlpatterns = [
url(r'^controller/$', get_ueditor_controller)
]

改為:

# coding:utf-8
from django import VERSION

if VERSION[0:2] > (1, 3):
from django.conf.urls import url
else:
from django.conf.urls.defaults import url

from .views import get_ueditor_controller

urlpatterns = [
url(r'^controller/$', get_ueditor_controller)
]

 

由於版本問題,順而可能引起以下問題

render_to_string() got an unexpected keyword argument 'context_instance'

解決方法:

context must be a dict rather than RequestContext.
就是context變為
{
"context":context
}

由於版本升級,之前代碼中

return render_to_response('info_count.html', {}, context_instance=RequestContext(request))

應該 改寫為類似這種:

from django.shortcuts import render

return render(request, "info_main.html", {'time_refresh': time_refresh,
'time_refresh_long': time_refresh_long,
'time_refresh_net': time_refresh_net,
'version': version})

 


免責聲明!

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



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