1. Django中的URL调度器 (项目创建与简单测试)

1. 创建 Django 项目

运行以下命令创建一个名为 blog_project 的 Django 项目:

bash 复制代码
django-admin startproject blog_project

2. 创建博客应用

Django 中,项目可以包含多个应用。创建一个名为 blog 的应用:

bash 复制代码
cd blog_project
python manage.py startapp blog

3. 定义视图函数(views.py

在 blog/views.py 中,定义一些视图函数处理不同的页面请求。

python 复制代码
from django.http import HttpResponse

def home(request):
    return HttpResponse("欢迎来到博客主页!")
def post_detail(request, post_id):
    return HttpResponse(f"这是博客文章 {post_id} 的详情页面。")
def about(request):
    return HttpResponse("关于我们页面。")

4. 定义应用的URL映射(blog/urls.py)

在 blog/urls.py 中,定义该应用的URL调度规则。

python 复制代码
from django.urls import path
from . import views
urlpatterns = [
    path('', views.home, name='home'),  # 主页
    path('post/<int:post_id>/', views.post_detail, name='post_detail'),  # 文章详情
    path('about/', views.about, name='about'),  # 关于我们
]

5. 将应用的URL映射到全局URL配置(blog_project/urls.py)

python 复制代码
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),  # 管理后台
    path('blog/', include('blog.urls')),  # 包含 blog 应用的 URL 配置
]

整体如图:

6. 流程解释

  • 用户访问 http://localhost:8000/blog/:

  • URL Dispatcher 匹配到 blog/urls.py 中的 ''。

  • 调用 views.home,返回主页内容。

  • 用户访问 http://localhost:8000/blog/post/5/:

  • URL Dispatcher 匹配到 blog/urls.py 中的 'post/int:post_id/'。

  • 提取 post_id=5 或 post_id=1 并传递给 views.post_detail。

  • 返回文章详情页面。

  • 用户访问 http://localhost:8000/blog/about/:

  • URL Dispatcher 匹配到 blog/urls.py 中的 'about/'。

  • 调用 views.about,返回关于页面内容

    希望这个教程对你有所帮助!如果有任何问题,欢迎随时提问。

相关推荐
kobe_OKOK_7 小时前
tdeinge REST API 客户端
python·缓存·django
Blossom.1189 小时前
Prompt工程与思维链优化实战:从零构建动态Few-Shot与CoT推理引擎
人工智能·分布式·python·智能手机·django·prompt·边缘计算
Darenm11115 小时前
JWT鉴权的实现:从原理到 Django + Vue3
后端·python·django
luoluoal17 小时前
基于python的自然语言处理技术的话题文本分类的研究(源码+文档)
python·mysql·django·毕业设计·源码
奕成则成19 小时前
Django使用
后端·python·django
计算机徐师兄20 小时前
Python基于Django的网络入侵检测系统(附源码,文档说明)
python·django·网络入侵检测·网络入侵检测系统·python网络入侵检测系统·网络入侵·python网络入侵检测
计算机毕设指导61 天前
基于Django的本地健康宝微信小程序系统【源码文末联系】
java·后端·python·mysql·微信小程序·小程序·django
luoluoal1 天前
基于python的病人信息管理系统及安全策略分析(源码+文档)
python·mysql·django·毕业设计·源码
Blossom.1181 天前
多模态大模型LoRA微调实战:从零构建企业级图文检索系统
人工智能·python·深度学习·学习·react.js·django·transformer
luoluoal2 天前
基于python的des知识图谱的百科知识问答平台(源码+文档)
python·mysql·django·毕业设计