1. 创建 Django 项目
运行以下命令创建一个名为 blog_project 的 Django 项目:
django-admin startproject blog_project
2. 创建博客应用
Django 中,项目可以包含多个应用。创建一个名为 blog 的应用:
cd blog_project
python manage.py startapp blog
3. 定义视图函数(views.py)
在 blog/views.py 中,定义一些视图函数处理不同的页面请求。
from django.http import HttpResponsedef 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调度规则。
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)
from django.contrib import admin
from django.urls import include, pathurlpatterns = [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,返回关于页面内容
希望这个教程对你有所帮助!如果有任何问题,欢迎随时提问。