[实验] Django 返回 HTML 的实现

注意:

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

正文:

步骤一:系统环境要求

1) 服务器的系统需要是 openSUSE 15.2 版本
2) 服务器要关闭防火墙
3) 服务器系统要配置好可用的软件源(最好是软件数量最多的官方版本)
4) 服务器要能够连接外网

步骤二:安装 Django

2.1 安装 Python3

[root@python ~]# zypper -n install python3

(补充:在此次操作发生时,最新的 python 版本是 3.6.12)

2.2 创建并进入 Django 项目的目录

[root@python ~]# mkdir project
[root@python ~]# cd project

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

[root@python project]# python3 -m venv django_env

2.4 进入 Django 环境

[root@python project]# source django_env/bin/activate
(django_env) [root@python project]# pip install django

(补充:在此次操作发生时,最新的 Django 版本是 3.2)

步骤三:创建 mysite 项目

3.1 创建 mysite 项目

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

3.2 mysite 项目的目录

3.2.1 安装 tree 目录显示软件
(django_env) [root@python project]# zypper -n install tree
3.2.2 显示 mysite 项目的目录
(django_env) [root@python project]# cd mysite
(django_env) [root@python mysite]# tree
.
├── manage.py
└── mysite
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

1 directory, 5 files

3.3 Django 项目目录介绍

1) mysite 此 Django 项目的容器
2) manage.py 命令行工具,与 Django 项目进行交互
3) mysite/__init__.py 空文件,通知 Python 此项目是 1 个 Python 包
4) mysite/settings.py 此 Django 项目的配置文件
5) mysite/urls.py 此 Django 项目的 URL 声明和 Django 的网站“目录”
6) mysite/wsgi.py WSGI 兼容 Web 服务器的入口

步骤四:创建 myapp 应用

4.1 创建 myapp 应用

(django_env) [root@python mysite]# django-admin startapp myapp

4.2 users 应用的目录

4.2.1 显示 users 应用的目录
(django_env) [root@python mysite]# tree
.
├── manage.py
├── myapp
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
└── mysite
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

3 directories, 13 files
4.2.2 Django 应用目录介绍

1) users/app.py 此 Django 应用的容器
2) users/__init__.py 空文件,通知 Python 此项目是 1 个 Python 包
3) users/admin.py 此 Django 应用自带的后台管理相关的类
4) users/app.py 此 Django 应用指定应用名的文件
5) users/migrations.py 此 Django 应用通过 Python 代码生成数据库表时里面会产生一些迁移文件
6) users/models.py 可以在里面创建一些 Python 对象并通过这些对象在数据库里创建对应的表
7) users/test.py 此 Django 应用的测试文档
8) users/views.py 此 Django 应用的视图,接收前端数据,把数据传递给后端,响应相关页面

步骤五:配置 mysite 应用和 myapp 应用

5.1 在 myapp 应用中添加 1 个 HTML 模板

创建 mysite/myapp/templates/myapp/html1.html 并添加以下内容:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML1</title>
</head>
<body>
    <article>This is HTML1</article>
</body>
</html>

(补充:这里创建开头为 HTML1,内容为 This is HTML1 的 HTML 为例)

5.2 在 myapp 应用中添加 2 个网页返回值的模块

在 mysite/myapp/views.py 中添加以下内容:

......
from django.shortcuts import render
......
def html1(request):
    return render(request, "myapp/html1.html", {})

(补充:这里以设置 html1 模块并返回 myapp/html1.html 值为例)

5.3 在 myapp 应用中添加 2 个链接并设置对应的模块

创建 mysite/myapp/urls.py 并添加以下内容:

from django.conf.urls import url
from myapp.views import html1

urlpatterns = [
    url('html/', html1),
]

(补充:这里以设置 html 链接对应 html1 模块为例)

5.4 在 mysite 应用中添加 1 个链接并链接 myapp 应用的链接

在 mysite/mysite/urls.py 中添加以下内容:

......
from django.conf.urls import url, include
......
urlpatterns = [
......
    url(r'^page/', include('myapp.urls')),
]

5.5 在 mysite 应用中导入 myapp 应用

在 mysite/mysite/settings.py 中添加以下内容:
......
INSTALLED_APPS = [
......
    'myapp',
]
......

步骤六:启动 Django 服务

(django_env) [root@python mysite]# python manage.py runserver 0.0.0.0:8000

(补充:这里以指定本地 8000 端口启动 Django 服务为例)

步骤七:测试 Django 返回 HTML

打开浏览器输入以下网址:

http://127.0.0.1:8000/page/html/

[实验] Django 层级多链接的实现

注意:

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

正文:

步骤一:系统环境要求

1) 服务器的系统需要是 openSUSE 15.2 版本
2) 服务器要关闭防火墙
3) 服务器系统要配置好可用的软件源(最好是软件数量最多的官方版本)
4) 服务器要能够连接外网

步骤二:安装 Django

2.1 安装 Python3

[root@python ~]# zypper -n install python3

(补充:在此次操作发生时,最新的 python 版本是 3.6.12)

2.2 创建并进入 Django 项目的目录

[root@python ~]# mkdir project
[root@python ~]# cd project

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

[root@python project]# python3 -m venv django_env

2.4 进入 Django 环境

[root@python project]# source django_env/bin/activate
(django_env) [root@python project]# pip install django

(补充:在此次操作发生时,最新的 Django 版本是 3.2)

步骤三:创建 mysite 项目

3.1 创建 mysite 项目

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

3.2 mysite 项目的目录

3.2.1 安装 tree 目录显示软件
(django_env) [root@python project]# zypper -n install tree
3.2.2 显示 mysite 项目的目录
(django_env) [root@python project]# cd mysite
(django_env) [root@python mysite]# tree
.
├── manage.py
└── mysite
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

1 directory, 5 files

3.3 Django 项目目录介绍

1) mysite 此 Django 项目的容器
2) manage.py 命令行工具,与 Django 项目进行交互
3) mysite/__init__.py 空文件,通知 Python 此项目是 1 个 Python 包
4) mysite/settings.py 此 Django 项目的配置文件
5) mysite/urls.py 此 Django 项目的 URL 声明和 Django 的网站“目录”
6) mysite/wsgi.py WSGI 兼容 Web 服务器的入口

步骤四:创建 myapp 应用

4.1 创建 myapp 应用

(django_env) [root@python mysite]# django-admin startapp myapp

4.2 myapp 应用的目录

4.2.1 显示 myapp 应用的目录
(django_env) [root@python mysite]# tree
.
├── manage.py
├── myapp
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
└── mysite
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

3 directories, 13 files
4.2.2 Django 应用目录介绍

1) users/app 此 Django 应用的容器
2) users/__init__.py 空文件,通知 Python 此项目是 1 个 Python 包
3) users/admin.py 此 Django 应用自带的后台管理相关的类
4) users/app.py 此 Django 应用指定应用名的文件
5) users/migrations.py 此 Django 应用通过 Python 代码生成数据库表时里面会产生一些迁移文件
6) users/models.py 可以在里面创建一些 Python 对象并通过这些对象在数据库里创建对应的表
7) users/test.py 此 Django 应用的测试文档
8) users/views.py 此 Django 应用的视图,接收前端数据,把数据传递给后端,响应相关页面

步骤五:配置 mysite 应用和 myapp 应用

5.1 在 myapp 应用中添加 2 个网页返回值的模块

在 mysite.myapp.views.py 中添加以下内容:

......
from django.http import HttpResponse
......
def testpage1(request):
    return HttpResponse("testpage1")

def testpage2(request):
    return HttpResponse("testpage2")


补充:这里以
1) 设置 testpage1 模块并返回 testpage1 值
2) 设置 testpage2 模块并返回 testpage2 值
为例

5.2 在 myapp 应用中添加 2 个链接并设置对应的模块

创建 mysite.myapp.urls.py 并添加以下内容:

from django.conf.urls import url
from myapp.views import testpage1,testpage2

urlpatterns = [
    url(r'page1/', testpage1),
    url(r'page2/', testpage2),
]


补充:这里以
1) 设置 page1 链接对应 testpage1 模块
2) 设置 page2 链接对应 testpage2 模块
为例

5.3 在 mysite 应用中添加 1 个链接并链接 myapp 应用的链接

在 mysite.mysite.urls.py 中添加以下内容:

......
from django.conf.urls import url, include
......
urlpatterns = [
......
    url(r'^page/', include('myapp.urls')),
]

(补充:这里以设置 page 链接对应 myapp 应用的链接为例)

步骤六:启动 Django 服务

(django_env) [root@python mysite]# python manage.py runserver 0.0.0.0:8000

(补充:这里以指定本地 8000 端口启动 Django 服务为例)

步骤七:测试 Django 多链接

打开浏览器输入以下网址:

1) 127.0.0.1:8000/page/page1
2) 127.0.0.1:8000/page/page2

[实验] Django 多链接的实现

注意:

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

正文:

步骤一:系统环境要求

(1)服务器的系统需要是 openSUSE 15.2 版本
(2)服务器要关闭防火墙
(3)服务器系统要配置好可用的软件源(最好是软件数量最多的官方版本)
(4)服务器要能够连接外网

步骤二:安装 Django

2.1 安装 Python3

[root@python ~]# zypper -n install python3

(补充:在此次操作发生时,最新的 python 版本是 3.6.12)

2.2 创建并进入 Django 项目的目录

[root@python ~]# mkdir project
[root@python ~]# cd project

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

[root@python project]# python3 -m venv django_env

2.4 进入 Django 环境

[root@python project]# source django_env/bin/activate
(django_env) [root@python project]# pip install django

(补充:在此次操作发生时,最新的 Django 版本是 3.2)

步骤三:创建 mysite 项目

3.1 创建 mysite 项目

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

3.2 mysite 项目的目录

3.2.1 安装 tree 目录显示软件
(django_env) [root@python project]# zypper -n install tree
3.2.2 显示 mysite 项目的目录
(django_env) [root@python project]# cd mysite
(django_env) [root@python mysite]# tree
.
├── manage.py
└── mysite
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

1 directory, 5 files

3.3 Django 项目目录介绍

(1)mysite 此 Django 项目的容器
(2)manage.py 命令行工具,与 Django 项目进行交互
(3)mysite/__init__.py 空文件,通知 Python 此项目是 1 个 Python 包
(4)mysite/settings.py 此 Django 项目的配置文件
(5)mysite/urls.py 此 Django 项目的 URL 声明和 Django 的网站“目录”
(6)mysite/wsgi.py WSGI 兼容 Web 服务器的入口

步骤四:创建 myapp 应用

4.1 创建 myapp 应用

(django_env) [root@python mysite]# django-admin startapp myapp

4.2 myapp 应用的目录

4.2.1 显示 myapp 应用的目录
(django_env) [root@python mysite]# tree
.
├── manage.py
├── myapp
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
└── mysite
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

3 directories, 13 files
4.2.2 Django 应用目录介绍

(1)users/app.py 此 Django 应用的容器
(2)users/__init__.py 空文件,通知 Python 此项目是 1 个 Python 包
(3)users/admin.py 此 Django 应用自带的后台管理相关的类
(4)users/app.py 此 Django 应用指定应用名的文件
(5)users/migrations.py 此 Django 应用通过 python 代码生成数据库表时里面会产生一些迁移文件
(6)users/models.py 可以在里面创建一些 Python 对象并通过这些对象在数据库里创建对应的表
(7)users/test.py 此 Django 应用的测试文档
(8)users/views.py 此 Django 应用的视图,接收前端数据,把数据传递给后端,响应相关页面

步骤五:配置 mysite 应用和 myapp 应用

5.1 在 myapp 应用中添加两个网页返回值的模块

在 mysite/myapp/views.py 中添加以下内容:

......
from django.http import HttpResponse
......
def testpage1(request):
    return HttpResponse("testpage1")

def testpage2(request):
    return HttpResponse("testpage2")


补充:这里以
(1)设置 testpage1 模块并返回 testpage1 值
(2)设置 testpage2 模块并返回 testpage2 值
为例

5.2 在 mysite 应用中添加两个链接并设置对应的模块

在 mysite/mysite/urls.py 中添加以下内容:

......
from myapp.views import testpage1,testpage2
......
urlpatterns = [
......
    path('page1/', testpage1),
    path('page2/', testpage2),
]


补充:这里以
(1)设置 page1 链接对应 testpage1 模块
(2)设置 page2 链接对应 testpage2 模块
为例

步骤六:启动 Django 服务

(django_env) [root@python mysite]# python manage.py runserver 0.0.0.0:8000

(补充:这里以指定本地 8000 端口启动 Django 服务为例)

步骤七:测试 Django 多链接

打开浏览器输入以下网址:

(1)127.0.0.1:8000/page1
(2)127.0.0.1:8000/page2

[实验] 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>