本地做了一个小网站,同事希望放到sever 2008 r2的服务器上,N多问题,公司是内网,外部不能访问,忽略安全问题,仅供内部使用~~
问题一:Windows Server 20008 r2安装Anaconda失败,版本无法与本地一致
解决方案:
- 放弃安装,直接安装python(python-3.5.4)
- 安装虚拟环境
# 安装虚拟环境管理
pip install virtualenvwrapper-win
# 创建虚拟环境名称,django可改为任意名称
mkvirtualenv django
# 激活虚拟环境
cd Envs
workon django
## 前面显示虚拟环境名称则视为已激活
(django) D:\myproject\hy>python manage.py runserver
- 安装开发环境:numpy、pandas、django
- 版本不一致
包 | 本地 | 服务器 |
---|---|---|
python | 3.8.3 | 3.5.4 |
django | 3.2.1 | 2.2.28 |
只会小白做法,合并项目:
①用服务器当前版本生成django项目。
②重新配置settings.py、init.py、urls.py。
③替换apps.py、models.py、views.py
④直接复制static、templates文件夹。
问题二:[Django报错] query = query.decode(errors=‘replace’) AttributeError: ‘str’ object has no attribute ‘decode’。
解决方法:找到虚拟环境下的安装文件进行修正“\Envs\django\lib\site-packages\django\db\backends\mysql\operations.py”
query = query.decode(errors='replace')
改为:
query = errors='replace'
至此,执行django项目成功。
问题三:本地访问报错“无法访问此网站”。
解决方法:
-
服务器端修改settings.py文件,避免报错因权限拒绝访问,ALLOWED_HOSTS = [‘*’]
-
服务器端修改windows防火墙端口入站规则
(1). 打开“高级安全Windows防火墙”,点击“入站规则”,右击“入站规则”,选择“新建规则”,选择“端口”,选择“TCP”,端口和服务器开启端口一致。
(2). 重新运行项目:
python manage.py runserver 0.0.0.0:8000
至此,本地我们也可以访问了。