Centos7上部署Django项目会出现 ImportError: cannot import name MiddlewareMixin的错误

本文针对在LinuxCentos7上部署Django应用时遇到的版本问题进行了解析,并提供了具体的解决办法,包括调整URL配置及更新渲染方法等,以帮助开发者解决因版本升级导致的错误。

在嵌入式设备上部署一直没问题,而部署在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})

 

转载于:https://www.cnblogs.com/xmyfsj/p/10636249.html

(django) [root@iZ7vhr6bkd1v9kZ django]# python manage.py runserver Watching for file changes with StatReloader Exception in thread django-main-thread: Traceback (most recent call last): File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/db/backends/mysql/base.py", line 15, in <module> import MySQLdb as Database File "/root/.virtualenvs/django/lib/python3.8/site-packages/MySQLdb/__init__.py", line 17, in <module> from . import _mysql ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner self.run() File "/usr/local/lib/python3.8/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/utils/autoreload.py", line 64, in wrapper fn(*args, **kwargs) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 125, in inner_run autoreload.raise_last_exception() File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/utils/autoreload.py", line 87, in raise_last_exception raise _exception[1] File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/core/management/__init__.py", line 394, in execute autoreload.check_errors(django.setup)() File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/utils/autoreload.py", line 64, in wrapper fn(*args, **kwargs) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/apps/registry.py", line 116, in populate app_config.import_models() File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/apps/config.py", line 269, in import_models self.models_module = import_module(models_module_name) File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/db/models/base.py", line 371, in add_to_class value.contribute_to_class(cls, name) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/db/models/options.py", line 243, in contribute_to_class self.db_table, connection.ops.max_name_length() File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/utils/connection.py", line 15, in __getattr__ return getattr(self._connections[self._alias], item) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/utils/connection.py", line 62, in __getitem__ conn = self.create_connection(alias) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/db/utils.py", line 193, in create_connection backend = load_backend(db["ENGINE"]) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/db/utils.py", line 113, in load_backend return import_module("%s.base" % backend_name) File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/db/backends/mysql/base.py", line 17, in <module> raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?
最新发布
03-26
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值