django入门与实践 - 关于升级到django 3.7,三种模板超链接配置(编辑中)

Posted chenjianfeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django入门与实践 - 关于升级到django 3.7,三种模板超链接配置(编辑中)相关的知识,希望对你有一定的参考价值。

第一种方法:

在myblog/urls.py模块中:

技术图片
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path(admin/, admin.site.urls),
    path(blog1/, include((blog1.urls, a), namespace=blogg)),  #‘a‘可以为任意字符,但不能为空
]
myblog/urls.py

在blog/urls.py模块中:

技术图片
from django.urls import path
from . import views
urlpatterns = [
    path(‘‘, views.index),  # 这是路由模式
    path(article/<int:article_id>, views.article_page, name=article_detai),  # path中的组名必须和参数名一致
]
blog/urls.py

在blog/templates/index.html模板中:

技术图片
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>
        <a href="">添加新文章</a>
    </h1>
    {% for article in articles %}
        <h2>
            <a href="{% url ‘blogg:article_detai‘ article.id %}">{{ article.title }}</a>
        </h2>
    {% endfor %}
</body>
</html>
blog/templates/index.html

在blog/view.py模块中:

技术图片
from django.shortcuts import render
from blog1 import models

# 方法:index()
# 参数:request:
# 功能:将Article表中的数据取出,在页面上显示所有文章
def index(request):
    
    articles = models.Article.objects.all()
    return render(request, blog1/index.html, {articles: articles})


# 方法:article_page()
# 参数:request:
#      article_id:文章id,唯一标识符
# 功能:通过接收article_id,显示对应文章的详细内容
def article_page(request, article_id):

    article = models.Article.objects.get(pk=article_id)
    return render(request, blog1/article_detail.html, {article: article})
blog/view.py

 

 

第二种方法:

以上是关于django入门与实践 - 关于升级到django 3.7,三种模板超链接配置(编辑中)的主要内容,如果未能解决你的问题,请参考以下文章

博客基础_django入门_python从入门到实践_用户登陆注销与注册

django入门与实践(续)

Django入门与实践 1-16章总结

博客基础_django_python从入门到实践_小结

Django入门与实践课程系列第1篇

升级 Django 版本:最佳实践