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

第二种方法:

原文地址:https://www.cnblogs.com/chenjianfeng/p/10579815.html

时间: 2024-11-07 15:55:24

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

Django入门与实践 17-26章总结

Django入门与实践-第17章:保护视图 Django 有一个内置的视图装饰器 来避免它被未登录的用户访问: 现在如果用户没有登录,将被重定向到登录页面: 现在尝试登录,登录成功后,应用程序会跳转到原来所在的位置. Django入门与实践-第18章:访问已登录用户 现在我么可以改进 new_topic 视图,将发布主题的用户设置当前登录的用户,取代之前直接从数据库查询出来的第一个用户, 之前这份代码是临时的,因为那时候还没有方法去获取登录用户,但是现在可以了: 有两个关键字参数,pk用于唯一标

&lt;&lt;Python编程:从入门到实践&gt;&gt;踩坑记 Django

<<Python编程:从入门到实践>>踩坑记 Django Django Python 19.1.1.5 模板new_topic 做完书上的步骤后,对主题添加页面经行测试,但是浏览器显示 服务器异常. 个人采用的开发环境是virtual studio code , 测试起来很是难受,因为我配置的debug环境,断点操作没有作用. 经过我不断的测试,才发现我失败的原因是由于之前的误操作,先建立new_pizzas.py后改为new_pizzas.html的,错误就在这里.在我之后新建

【Django入门与实践】课程系列第2篇

四.创建项目及应用 本节大纲 创建项目步骤1)打开命令行,进入想要安置项目的目录2)命令行输入:django-admin startproject myblog(myblog是项目名称)3)若没有报错,则创建项目成功 用编译器打开该项目工程 项目目录结构1)manage.py:与项目进行交互的命令行工具集的入口,即项目管理器,执行python manage.py来查看所有命令,执行runserver启动服务器2)默认启动端口号是8000,自定义启动端口的方法:python manage.py r

django入门与实践(续)

完善博客 博客页面设计 页面概要 1.博客主页面 主页面内容 文章标题列表,超链接 发表博客按钮(超链接) 列表编写思路 取出数据库中所有文章对象 将文章对象们打包成列表,传递到前端 前端页面把文章以标题超链接的形式逐个列出 模板for循环 {% for XX in XXS %} HTML语句 {% endfor %} *模板中调用对象或者说展示数据用的两对花括号,这里是一对花括号中加了两个百分号 2.博客文章内容页面 页面内容 标题 文章内容 修改文章按钮(超链接) 页面的编写过程 关键点:u

Django入门与实践-第12章:复用模板(完结)

http://127.0.0.1:8000/http://127.0.0.1:8000/boards/1/http://127.0.0.1:8000/boards/2/http://127.0.0.1:8000/boards/3/ <!--static/css/app.css--> .navbar-brand { font-family: 'Peralta', cursive; } <!--templates/base.html--> {% load static %}<!D

Django入门与实践-第20章:QuerySets(查询结果集)(完结)

http://127.0.0.1:8000/boards/1/ #boards/models.py from django.utils.text import Truncator class Topic(models.Model): # ... def __str__(self): return self.subject class Post(models.Model): # ... def __str__(self): truncated_message = Truncator(self.me

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

注意事项:随时备份.随时记录.从宏观到微观 不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之:学至于行之止矣 安装 Python 3.6.2 pip install django==1.11.4 django-admin startproject myproject python manage.py runserver http://127.0.0.1:8000 使用组合键 Control + C 来终止开发服务器. django-admin startapp boards setting

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

一.课程知识要求1.掌握Python语言2.了解HTML语言3.了解浏览器上网的基本原理 二.课前准备1.什么是Django1)Django官网地址:www.djangoproject.com2)Django是一个基于Python的高级Web开发框架3)它能够让开发人员进行高效且快速的开发4)高度集成(不用自己造轮子),免费并且开源 2.知识补充1)正常上网流程:2)浏览器浏览网页的基本原理a. 本质是网络通信,即通过网络进行数据传递b. 浏览器经过通信后获取到该页面的源代码文档(HTML等)c

Django入门与实践-第21章:迁移(完结)

http://127.0.0.1:8000/boards/1/ python manage.py migrate #boards/models.py class Topic(models.Model): views = models.PositiveIntegerField(default=0) # <- here python manage.py makemigrations python manage.py migrate #boards/views.py def topic_posts(r