使用Django实现简单的页面跳转

以下是三个页面转跳示例。

http://127.0.0.1:8000/ ➜ http://127.0.0.1:8000/

http://127.0.0.1:8000/app01/ ➜ http://127.0.0.1:8000/app01/

http://127.0.0.1:8000/app02/ ➜ http://127.0.0.1:8000/app02/

Django 的安装

sudo apt install python3-django

创建下一个。

项目 proj01

应用 主页
应用 应用01
应用 应用02

django-admin startproject proj01
cd proj01/
python manage.py migrate
python manage.py startapp home
python manage.py startapp app01
python manage.py startapp app02

在这个阶段,我们要运行开发服务器,并确保默认页面能够显示出来。

python manage.py runserver
image.png

如果显示正常,我们就继续下一步。

编辑显示消息的程序。

home/views.py 主页/视图.py
app01/views.py 应用01/视图.py
app02/views.py 应用02/视图.py

将已存在的东西替换为下一个东西。

from django.http import HttpResponse

def index(request):
    str_out = ""
    str_out += "*** home *** start ***<p />"
    str_out += "ホームです。<p />"
    str_out += "<a href='app01/'>app01</a><p />"
    str_out += "<a href='app02/'>app02</a><p />"
    str_out += "*** home *** end ***<p />"
    return HttpResponse(str_out)
from django.http import HttpResponse

def index(request):
    str_out = ""
    str_out += "*** app01 *** start ***<p />"
    str_out += "こんにちは<p />"
    str_out += "Dec/09 AM 09:45<p />"
    str_out += "<a href='../'>Return</a><p />"
    str_out += "*** app01 *** end ***<p />"
    return HttpResponse(str_out)
from django.http import HttpResponse

def index(request):
    str_out = ""
    str_out += "*** app02 *** start ***<p />"
    str_out += "おはようございます。<p />"
    str_out += "Dec/09 AM 09:55<p />"
    str_out += "<a href='../'>Return</a><p />"
    str_out += "*** app02 *** end ***<p />"
    return HttpResponse(str_out)

創建以下內容,全部相同。

家/urls.py
应用01/urls.py
应用02/urls.py

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

编辑proj01/settings.py。

省略
INSTALLED_APPS = [
    'home',
    'app01',
    'app02',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
省略

编辑proj01/urls.py。

from django.contrib import admin
from django.urls import path
from django.urls import include

urlpatterns = [
    path('', include('home.urls')),
    path('app01/', include('app01.urls')),
    path('app02/', include('app02.urls')),
    path('admin/', admin.site.urls),
]

启动开发服务器并进行确认。

python manage.py runserver
home.png
app01.png
app02.png

我在下一个版本进行了确认。

$ python --version
Python 3.10.7

$ django-admin --version
4.1.3

当将服务器设置为gunicorn时,请按以下方式启动。

gunicorn proj01.wsgi

安装gunicorn

sudo apt install gunicorn
bannerAds