Django 3.0.2 模板中超链接配置完整示例
本文详细解析在 Django 3.0.2 环境下配置模板中超链接的完整流程。涵盖从 urls.py 的路由分发、blog 子应用的 URL 定义,到 view.py 中视图函数的数据传递,以及 index 和 article_page 模板中链接标签的具体写法。通过代码实例展示如何正确绑定文章 ID 并实现页面跳转,帮助开发者快速掌握 Django 模板链接配置技巧。
主路由配置:myblog/urls.py
首先,需要在 myblog 项目的 urls.py 文件中配置主路由。通过导入 django.urls 模块中的 include 函数,将 blog 应用的 URL 配置包含进来,实现请求的分发。
主路由代码示例
from django.urls import include
from django.conf.urls import url
urlpatterns = [
path('blog/',include('blog.urls')),
]
子应用路由:blog/urls.py
接着,在 blog 应用的 urls.py 中定义具体的 URL 规则。这里需要导入 path 函数,并引入对应的 views 模块。配置两条路径:一条指向 index 视图,另一条通过正则捕获文章 ID(int:article_id)并映射到 article_page 视图,同时为该路径命名以便模板引用。
子应用路由代码示例
from django.urls import path
from django.conf.urls import url
from . import views
urlpatterns = [
path('index',views.index),
path('article/<int:article_id>',views.article_page,name='article_page')
]
视图函数实现:blog/views.py
然后在 blog 应用的 view.py 中实现视图逻辑。导入 render、HttpResponse 及 models 模块。定义 index 函数,查询所有文章对象并传递给 blog/index.html 模板;定义 article_page 函数,根据传入的 article_id 获取特定文章对象,并将其传递给 blog/article_page.html 模板。注意 render 函数的第三个参数用于向前端传递字典类型的数据。
视图函数代码示例
from django.shortcuts import render
from django.http import HttpResponse
from . import models
# Create your views here.
def index(request):
articles = models.Article.objects.all()
return render(request, 'blog/index.html', {'articles': articles})
def article_page(request,article_id):
article = models.Article.objects.get(pk=article_id)
return render(request,'blog/article_page.html',{'article':article})
#redner的第三个参数是用来传递数据到前端的,函数中支持一个disc参数(字典类型的数据)
列表模板:index.html
在 blog/templates/blog/index.html 模板中编写文章列表的 HTML 结构。遍历 articles 集合,为每篇文章生成一个超链接。链接地址拼接为 /blog/article/ 加上文章 ID,并设置 rel 属性为 external nofollow。链接文本显示文章标题。
列表模板代码示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title</title>
</head>
<body>
<h1><a href="">新文章</a></h1>
{% for article in articles %}
<a href="/blog/article/{{article.id}}" rel="external nofollow" >{{article.title}}</a>
<br/>
{% endfor %}
</body>
</html>
详情模板:article_page.html
在 blog/templates/blog/article_page.html 模板中展示单篇文章详情。页面标题和正文内容分别通过 {{article.title}} 和 {{article.content}} 变量渲染。底部提供一个“修改文章”的超链接,具体跳转地址可根据实际需求配置。
详情模板代码示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>article page</title>
</head>
<body>
<h1>{{article.title}}</h1>
<br/>
<h3>{{article.content}}</h3>
<br/><br/>
<a href="">修改文章</a>
</body>
</html>
测试与反馈
以上代码示例可在本地 Django 环境中测试验证。如果在配置过程中遇到任何问题或有补充建议,欢迎联系本站编辑进行交流反馈。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













