python + django 搭建网页(2)

换了个教程:https://www.runoob.com/django/django-first-app.html

1. ubuntu 安装 python3, django

sudo apt install python3 即可安装 python
用清华的源安装 django

sudo pip3 install Django -i https://pypi.tuna.tsinghua.edu.cn/simple

2. Hello World

2.1 新建项目 HelloWorld

django-admin是django管理命令,打一下回车可以看见子命令,其中有 startproject

django-admin startproject HelloWorld

即可新建 HelloWorld 项目,会在当前目录生成 HelloWorld 文件夹,可以

cd HelloWorld
tree

即得文件目录。可以启动项目:
python3 manage.py runserver 0.0.0.0:8000
就可以在自己浏览器上访问了: 127.0.0.1:8000

2.2 改动 HelloWorld

vi HelloWorld/views.py

在其中写如下内容:

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello world ! ")

这个就是设计了一个动作,在屏幕上显示 "Hello world!" 这个字符串。

vi HelloWorld/urls.py

写入如下内容:

from django.urls import path

from . import views

urlpatterns = [
    path('hello/',views.hello),
]

启动项目:

python3 manage.py runserver 0.0.0.0:8000 &

然后访问 127.0.0.1:8000/hello,就会在浏览器里显示 Hello world!

3. 用模板输出网页

3.1 新建输出模板文件

在 HelloWorld 下新建 templates,新建 templates/runoob.html:

<h1>{{ hello }}</h1>

这个应该是规定输出格式的,hello 是一个变量。h1 是格式,类似于 markdown global settings 里面的,我估计是相通的。

3.2 修改 HelloWorld/settings.py

加一个 import os
然后修改 TEMPLATES 中的 DIRS 的值:

        'DIRS': [os.path.join(BASE_DIR, 'templates')],

3.3 修改 HelloWorld/views.py

增加如下内容:

from django.shortcuts import render

def runoob(request):
    context = {}
    context['hello'] = 'Hello World!'
    return render(request, 'runoob.html', context)

context 大概是给变量 hello 赋值 Hello World!,render 将 request 和 runoob.html 联系起来,并且把 runoob.html 中的变量 hello 用 context 赋值。
所以,这样就可以反复使用一个格式模板 runoob.html。

3.4 修改 HelloWorld/urls.py

把域名和 views.runoob 这个函数联系起来。

urlpatterns = [
    path('',views.hello),
    path('runoob/', views.runoob),
]

3.5 检验

访问 127.0.0.1:8000,会触发 path('',views.hello),显示Hello World;访问 127.0.0.1:8000/runoob,会触发 path('runoob/', views.runoob),显示带格式的 Hello World.

3.6 其他电脑访问

修改 HelloWorld/settings.py:

ALLOWED_HOSTS = ['*',]

然后开放防火墙上的端口8000:

sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
sudo firewall-cmd --reload

即可从内网任何一台电脑访问了。

3.7 公网访问

把项目放在腾讯云服务器上,然后如上运行,即可从公网访问:
xx.xx.xx.xx:8000

posted on   luyi07  阅读(133)  评论(1编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示