使用 Django 构建动态网页

文章目录

    • [创建 Django 项目和应用程序](#创建 Django 项目和应用程序)
    • [创建 HTML 模板](#创建 HTML 模板)
    • 创建视图函数
    • [配置 URL 路由](#配置 URL 路由)
    • [运行 Django 服务器](#运行 Django 服务器)
    • [使用 Django 模板语言](#使用 Django 模板语言)

Django 是一个流行的 Python Web 框架,它能够帮助开发人员快速构建强大的 Web 应用程序。在 Django 中,HTML 是用于呈现网页内容的主要语言之一。本文将介绍如何在 Django 中使用 HTML 创建动态网页,并演示一些常见的 HTML 元素和 Django 模板语言的用法。

创建 Django 项目和应用程序

首先,确保已经安装了 Django。如果没有安装,可以使用以下命令:

bash 复制代码
pip install django

接下来,创建一个新的 Django 项目:

bash 复制代码
django-admin startproject myproject

然后,创建一个新的应用程序:

bash 复制代码
cd myproject
django-admin startapp myapp

创建 HTML 模板

在 Django 中,可以将 HTML 模板存储在应用程序的 templates 目录中。创建一个名为 index.html 的 HTML 文件,并将其放置在 myapp/templates 目录下:

html 复制代码
<!-- myapp/templates/index.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>My Django App</title>
</head>
<body>
    <h1>Hello, Django!</h1>
    <p>Welcome to my Django app.</p>
</body>
</html>

创建视图函数

在 Django 中,视图函数用于处理 HTTP 请求并生成 HTTP 响应。打开 myapp/views.py 文件,并创建一个名为 index 的视图函数:

python 复制代码
# myapp/views.py
from django.shortcuts import render

def index(request):
    return render(request, 'index.html')

配置 URL 路由

要使视图函数能够响应特定的 URL 请求,需要配置 URL 路由。打开 myproject/urls.py 文件,并添加一个 URL 路由到 index 视图:

python 复制代码
# myproject/urls.py
from django.contrib import admin
from django.urls import path
from myapp import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index, name='index'),
]

运行 Django 服务器

现在,可以运行 Django 服务器,并在浏览器中访问应用程序:

bash 复制代码
python manage.py runserver

打开浏览器,并访问 http://127.0.0.1:8000/,将会看到显示 "Hello, Django!" 的网页。

使用 Django 模板语言

除了简单地在 HTML 中编写静态内容外,Django 还提供了模板语言,可以在 HTML 中动态地插入变量、循环和条件语句。以下是一个示例:

html 复制代码
<!-- myapp/templates/greet.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>Greet User</title>
</head>
<body>
    <h1>Hello, {{ username }}!</h1>
    {% if age %}
    <p>You are {{ age }} years old.</p>
    {% else %}
    <p>Your age is unknown.</p>
    {% endif %}
</body>
</html>

在视图函数中传递变量给模板:

python 复制代码
# myapp/views.py
from django.shortcuts import render

def greet(request):
    context = {
        'username': 'John',
        'age': 30,
    }
    return render(request, 'greet.html', context)

然后,将视图函数和 URL 路由关联起来:

python 复制代码
# myproject/urls.py
from django.contrib import admin
from django.urls import path
from myapp import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index, name='index'),
    path('greet/', views.greet, name='greet'),
]

现在,访问 http://127.0.0.1:8000/greet/,将会看到根据传递的变量动态生成的网页内容。

通过以上步骤,你已经学会了如何在 Django 中使用 HTML 创建动态网页,并利用 Django 模板语言使网页内容更加丰富和灵活。 Happy coding!

相关推荐
卓怡学长几秒前
m115乐购游戏商城系统
java·前端·数据库·spring boot·spring·游戏
飞Link33 分钟前
【Django】Django的静态文件相关配置与操作
后端·python·django
小句1 小时前
SQL中JOIN语法详解 GROUP BY语法详解
数据库·sql
阿杰 AJie1 小时前
MySQL 里给表添加索引
数据库·mysql
昊昊该干饭了2 小时前
一个真实查询需求如何从表设计走到高效 SQL
数据库·sql
Ha_To2 小时前
2026.1.20 SQL Server命令
数据库
智在碧得2 小时前
碧服打造DataOps全链路闭环,定义大数据工程化发布新标杆
大数据·网络·数据库
IvorySQL3 小时前
PostgreSQL 性能:云端与本地的延迟分析
数据库·postgresql
wangbing11253 小时前
分组取前几位
数据库
给我来一根3 小时前
用户认证与授权:使用JWT保护你的API
jvm·数据库·python