[排错] Django 常见错误的解决

报错代码

在网页上出现的报错信息

DisallowedHost at /

Invalid HTTP_HOST header: '192.168.102.2:8000'. You may need to add '192.168.102.2' to ALLOWED_HOSTS.

Request Method: 	GET
Request URL: 	http://192.168.102.2:8000/
Django Version: 	1.11.6
Exception Type: 	DisallowedHost
Exception Value: 	

Invalid HTTP_HOST header: '192.168.102.2:8000'. You may need to add '192.168.102.2' to ALLOWED_HOSTS.

Exception Location: 	/root/project/django_env/lib64/python3.6/site-packages/django/http/request.py in get_host, line 113
Python Executable: 	/root/project/django_env/bin/python
Python Version: 	3.6.8
Python Path: 	

['/root/project/mysite',
 '/usr/lib64/python36.zip',
 '/usr/lib64/python3.6',
 '/usr/lib64/python3.6/lib-dynload',
 '/root/project/django_env/lib64/python3.6/site-packages',
 '/root/project/django_env/lib/python3.6/site-packages']

Server time: 	Thu, 27 Feb 2020 06:08:45 +0000

解决方法

(django_env) [root@python mysite]# vi mysite/settings.py

将以下内容:

......
ALLOWED_HOSTS = []
......

修改为:

......
ALLOWED_HOSTS = ['*']
......

[内容] pip 工具的安装 (MacBook Air 版)

内容一:安装 pip2

1.1 下载 pip2

$ curl 'https://bootstrap.pypa.io/pip/2.7/get-pip.py' > get-pip.py

1.2 安装 pip2

$ sudo python get-pip.py

1.3 删除 pip2

$ rm get-pip.py

1.4 显示安装的 pip2

1.4.1 显示在 python 里有没有 pip 安装包
$ ls /Library/Python/2.7/site-packages/

(补充:这里以 Python 版本是 2.7 为例)

1.4.2 显示有没有 pip2 命令
$ which pip2
1.4.3 升级 pip2
$ sudo pip2 install --upgrade pip

内容二:安装 pip3

2.1 准备安装 pip3 所需的环境

2.1.1 安装 python3
2.1.1.1 输入 python3 命令
$ python3
2.1.1.2 在弹出的对话框里安装 python3

(步骤略)

2.1.2 安装 xcode
2.1.2.1 输入 xcode-select –install 命令
$ xcode-select --install
2.1.2.2 在弹出的对话框里安装 xcode

(步骤略)

2.2 安装 pip3

2.2.1 下载 pip3
$ curl 'https://bootstrap.pypa.io/pip/get-pip.py' > get-pip.py
2.2.2 安装 pip3
$ sudo python get-pip.py
2.2.3 删除 pip3
$ rm get-pip.py
2.2.4 显示安装的 pip3
2.2.4.1 显示在 python 里有没有 pip 安装包
$ ls /Library/Python/3.8/site-packages/

(补充:这里以 Python 版本是 3.8 为例)

2.2.4.2 显示有没有 pip3 命令
$ which pip3
2.2.4.3 升级 pip3
$ sudo pip3 install --upgrade pip

[内容] Django MVT 模式简介

内容一:Django MVT 模式的视图

         URL Dispatcher

Browser                  Views Models database

         Cache Templates

内容二:Django MVT 模式简介

2.1 访问页面

Browser –> URL Dispatcher –> Views Models –> Database

2.2 应答页面

Database –> Views Models –> URL Dispatcher –> Browser

[实验] Linux Django 项目的制作 (PyCharm 版)

注意:

文中的 python 系统名、mysite 项目只是站主在本次操作中随意取的名称,读者可以根据自己的喜好换成任意别的名称

正文:

步骤一:系统环境要求

(1)服务器的系统需要是 CentOS Linux 8 版本
(2)服务器要关闭防火墙
(3)服务器要关闭 SELinux
(4)服务器系统要配置好可用的软件源
(5)服务器要能够连接外网

步骤二:安装图形化界面

[root@django ~]# yum -y groupinstall 'Server with GUI'
[root@django ~]# systemctl set-default graphical.target
[root@django ~]# reboot

(注意:如果要到远程服务器上使用 PyCharm,则在 ssh 的时候需要添加 -X 参数:# ssh -X <用户>@)

步骤三:安装 Django

3.1 升级 pip 环境

[root@django ~]# pip3 install --upgrade pip

3.2 安装 Django

[root@django ~]# pip3 install django

3.3 将 Django 项目的目录指定为 Django 环境

[root@django ~]# python3 -m venv django_env

步骤四:创建 Django 项目

4.1 进入 Django 环境

[root@django ~]# source django_env/bin/activate

4.2 创建 Django 项目

(django_env) [root@django ~]# django-admin startproject mysite

4.3 显示已创建的 Django 项目

# cd mysite/
(django_env) [root@django mysite]# tree
.
|-- manage.py
`-- mysite
    |-- __init__.py
    |-- asgi.py
    |-- settings.py
    |-- urls.py
    `-- wsgi.py

1 directory, 6 files

步骤五:部署 PyCharm

5.1 解压 PyCharm

# tar -xvf pycharm-community-2020.1.tar.gz

5.2 修改 PyCharm 占用的内存以提高性能

5.2.1 64 位系统修改 PyCharm 占用的内存以提高性能
# vim pycharm-community-2020.1/bin/pycharm64.vmoptions

将以下内容:

-Xms128m
-Xmx750m
......

修改为:

-Xms2048m
-Xmx4096m
......
5.2.1 32 位系统修改 PyCharm 占用的内存以提高性能
# vim pycharm-community-2020.1/bin/pycharm.vmoptions

将以下内容:

-Xms128m
-Xmx750m
......

修改为:

-Xms2048m
-Xmx4096m
......

5.3 启动 PyCharm

# ./pycharm-community-2020.1/bin/pycharm.sh

5.4 初始化 PyCharm

5.4.1 勾选 “I confirm that ……”,之后点击 “Continue”
(图:1)
5.4.2 点击 “Don’t Send”
(图:2)
5.4.3 选择 “Light” 之后点击 “Next:Launcher Script”
(图:3)
5.4.4 点击 “Open”
(图:4)
5.4.5 选择刚刚创建的 Django 项目目录,并点击 “OK”
(图:5)
5.4.6 关闭提示
(图:6)
5.4.7 此时就可以开始制作 Django 网页
(图:7)

步骤六:PyCharm 卡顿的处理方法

6.1 方法一:关闭 PyCharm 的代码自动补全

(1)选择左上角的 “File” 点击 “Settings”
(2)选择 “Editor” 下的 “Code Completion”
(3)建议将 “Code Completion” 设置成如下图所示

(图:8)
(4)点击 OK

6.2 方法二:开启 “PyCharm” 的省电模式

选择左上角的 "File" 点击 “Invalidate and Restart”

补充一:Django 创建项目的命令

# django-admin startproject <project>

补充二:Django 创建子项目的命令

# django-admin startapp <subproject>

补充三:Django 开启 Web 服务的命令

# python3 manage.py runserver <local IP address>:<port>