首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在DayArchiveview中未检测到Django DayArchiveview

在DayArchiveview中未检测到Django DayArchiveview
EN

Stack Overflow用户
提问于 2021-01-09 04:48:09
回答 2查看 195关注 0票数 0

我在Django中创建了几个基于日期的视图,虽然年份和月份的视图与预期的一样,但显示天数的视图没有被检测到。例如,如果我试图获得http://127.0.0.1:8000/blog/archive/2021/,或者http://127.0.0.1:8000/blog/archive/2021/01视图将被显示,http://127.0.0.1:8000/blog/archive/2021/01/07将失败。我理解urls.py配置的问题,但我在文档中找不到它。我还尝试将day_format=‘’%d‘传递给as_view方法,但没有任何结果。

urls.py

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from django.urls import path, re_path

from blog import views

app_name = 'blog'

urlpatterns = [
    # Example: /blog/
    path('', views.PostListView.as_view(), name='index'),

    # Example: /blog/post/ (same as /blog/)
    path('post/', views.PostListView.as_view(), name='post_list'),

    # Example: /blog/post/django-example/
    re_path(r'^post/(?P<slug>[-\w]+)/$', views.PostDetailView.as_view(), name='post_detail'),

    # Example: /blog/archive/
    path('archive/', views.PostArchiveView.as_view(), name='post_archive'),

    # Example: /blog/archive/2019/
    path('archive/<int:year>/', views.PostYearArchiveView.as_view(), name='post_year_archive'),

    # Example: /blog/archive/2019/nov/
    path('archive/<int:year>/<int:month>/', views.PostMonthArchiveView.as_view(month_format='%m'), name='post_month_archive'),

    # Example: /blog/archive/2019/nov/10/
    path('archive/<int:year>/<str:month>/<int:day>/', views.PostDayArchiveView.as_view(), name='post_day_archive'),

    # Example: /blog/archive/today/
    path('archive/today/', views.PostTodayArchiveView.as_view(), name='post_today_archive'),
]

views.py

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from django.shortcuts import render

# Create your views here.
from django.views.generic import ListView, DetailView, ArchiveIndexView, YearArchiveView, MonthArchiveView, \
    DayArchiveView, TodayArchiveView

from blog.models import Post


class PostListView(ListView):
    model = Post
    template_name = 'blog/post_all.html'
    context_object_name = 'posts'
    paginate_by = 2


class PostDetailView(DetailView):
    model = Post


class PostArchiveView(ArchiveIndexView):
    model = Post
    date_field = 'modify_dt'


class PostYearArchiveView(YearArchiveView):
    model = Post
    date_field = 'modify_dt'
    make_object_list = True


class PostMonthArchiveView(MonthArchiveView):
    model = Post
    date_field = 'modify_dt'


class PostDayArchiveView(DayArchiveView):
    model = Post
    date_field = 'modify_dt'


class PostTodayArchiveView(TodayArchiveView):
    model = Post
    date_field = 'modify_dt'

post_archive_day.html

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<h1>Post Archives for {{ day|date:"N d, Y" }}</h1>

<div>
    <ul>
        {% for post in object_list %}
        <li>
            {{ post.modify_dt|date:"Y-m-d" }}&nbsp;&nbsp;&nbsp;
            <a href="{{ post.get_absolute_url }}"><strong>{{ post.title }}</strong></a>
        </li>
        {% endfor %}
    </ul>
</div>

误差

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-09 05:15:57

您的URL模式是正确匹配的,特别是'archive/<int:year>/<str:month>/<int:day>/'将与URL http://127.0.0.1:8000/blog/archive/2021/01/07匹配。

错误消息指示无效的日期字符串。它期望指定为%b的月份字段是缩写的月份名称。因此,您的URL应该是http://127.0.0.1:8000/blog/archive/2021/jan/07,按照urls.py中您的URL模式上面的注释。

更新

通过在month_format中设置PostDayArchiveView,您可以将预期的月份格式更改为零填充月份号。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class PostDayArchiveView(DayArchiveView):
    model = Post
    date_field = 'modify_dt'
    month_format = '%m'

现在,您可以使用URL模式'archive/<int:year>/<int:month>/<int:day>/'来接受所需的URL格式。

票数 1
EN

Stack Overflow用户

发布于 2021-01-09 04:55:33

您可以尝试以这种方式获取日期->http://127.0.0.1:8000/blog/archive/2021-01-07而不是-> http://127.0.0.1:8000/blog/archive/2021/01/07。这将是一种处理你想要的事情的更简单的方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from django.urls import path, register_converter
from datetime import datetime
from . import views

class DateConverter:
    regex = '\d{4}-\d{2}-\d{2}'

    def to_python(self, value):
        return datetime.strptime(value, '%Y-%m-%d')

    def to_url(self, value):
       return value

register_converter(DateConverter, 'yyyy')

urlpatterns = [
    path('', views.index, name='index'),
    path('date/<yyyy:date>/', views.date, name='date'),
]

正如this问题中提到的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65642799

复制
相关文章
如何基于 Swagger 使用 OpenAPI Generator 生成 JMeter 脚本?
作为性能工程师,我们花了大量的时间编写脚本。如果我们能找到一种能自动生成脚本的方法,那将是一个提高的能效的好事情。
高楼Zee
2021/03/16
5.2K0
OpenAPI规范3-Swagger2 的美化使用
本人自己使用的swagger2.0,鉴于颜值和OpenAPI规范,就想体验下,后续再补充各种情况的demo。
软件测试君
2022/01/24
6.6K0
OpenAPI规范3-Swagger2 的美化使用
Java 近期新闻:Gradle 8.0、Maven、Payara 平台、Piranha、Spring Framework
作者 | Michael Redlich 译者 | 张卫滨 策划 | 丁晓昀 OpenJDK 甲骨文的技术顾问成员、Loom 项目的负责人 Ron Pressler 提交了 JEP Draft 8302326,即隐式类和主方法增强(Implicit Classes and Enhanced Main Methods)(预览)。该特性 JEP 提议“改进 Java 语言,从而能够让学生无需了解为大型程序所设计的语言特性,就能编写出第一个程序”。这个 JEP 进一步推进了甲骨文的 Java 语言架构师 Br
深度学习与Python
2023/03/29
1.7K0
Java 近期新闻:Gradle 8.0、Maven、Payara 平台、Piranha、Spring Framework
在 Eclipse 中配置 Grails 工程
配置 GRAILS_HOME,注意一定要配置到 build.xml 所在的文件夹:
四火
2022/07/15
1.1K0
在 Eclipse 中配置 Grails 工程
简洁、高效、灵活:探索 Spring 同级别的编程框架
作为一个Java开发者,Spring框架应该基本上都用过的,由于Spring框架太过于强大,导致我们可能只知道Spring框架,但其实还有很多优秀的框架可以供我们使用,本文将介绍6个和spring框架类似的框架。
索码理
2023/09/23
8880
简洁、高效、灵活:探索 Spring 同级别的编程框架
Spring Boot使用OpenAPI规范
在WEB领域里面,随着前后端分离,后端的HTTP接口便需要去维护一份大而全的Rest API,一个比较靠谱的文档工具是必不可少的。
李鸿坤
2020/10/23
4.1K0
Spring Boot使用OpenAPI规范
Java 框架新贵入驻 TechEmpower Framework Benchmark
出自 Grails 团队的 Java 框架新贵 Micronaut 刚发版就加入了 TechEmpower Framework Benchmark. 最近出炉的 2a8f2912-c4a2-4c32-a576-b1e2e932a906 中已经能看到 Micronaut 的身影了. 下面我们把结果稍微过滤一下, 看看 Micronaut 和一些常见 Java 框架的性能比较:
老码农
2019/03/12
7140
Java 框架新贵入驻 TechEmpower Framework Benchmark
Swagger+knife4j 易于整合SpringBoot的OpenAPI文档生成利器
前端和后端的联调离不开API文档,而手动编写API文档是一项耗时又费力的操作。Swagger正是基于简化API文档的输出的一个优秀的开源框架,通过OpenAPI的规范呈现接口信息,方便的提供测试和联调。这样,如果按照新的开发模式,在开发新版本或者迭代版本的时候,只需要更新Swagger描述文件,就可以自动生成接口文档和客户端服务端代码,做到调用端代码、服务端代码以及接口文档的一致性。
Dream城堡
2022/01/07
1.6K0
Swagger+knife4j 易于整合SpringBoot的OpenAPI文档生成利器
Express 基于 Node.js 平台,快速、开放、极简的 Web 开发框架
初始化目录: npm init 安装 Express: npm install express --save HelloWorld: 创建app.js //导入express const express = require('express') //创建app对象 const app = express() //构建请求 app.get('/',(req, res)=>res.send('hello world')) //配置app监听3000端口 app.listen(3000, ()=>consol
前端小鑫同学
2022/12/24
1K0
2020年你将会选择哪个微服务框架?
截至2020年,Java仍然是构建Web应用程序的最流行的编程语言之一,尽管它必须面对来自Go,Python和TypeScript等新型语言的激烈竞争。
用户1516716
2020/03/05
2.8K0
OpenAPI初探
项目中使用gin组件实现的api接口,总是需要修改代码,又要修改md文档。总想有没有一种办法,能够只写一遍就能完成代码和文档的修改,很快发现了gin-swagger组件,可以通过代码的注释生成文档,但写代码同时写入详细的注释让人发狂。
peakxie
2019/08/29
5.2K0
OpenAPI初探
在 Spring Boot 项目中使用 Swagger 文档
Spring Boot 框架是目前非常流行的微服务框架,我们很多情况下使用它来提供 Rest API。而对于 Rest API 来说很重要的一部分内容就是文档,Swagger 为我们提供了一套通过代码和注解自动生成文档的方法,这一点对于保证 API 文档的及时性将有很大的帮助。本文将使用 Swagger 2 规范的 Springfox 实现来了解如何在 Spring Boot 项目中使用 Swagger,主要包含了如何使用 Swagger 自动生成文档、使用 Swagger 文档以及 Swagger 相关的一些高级配置和注解。
程序员小明
2019/06/03
1.7K0
在 Spring Boot 项目中使用 Swagger 文档
Spring Boot 框架是目前非常流行的微服务框架,我们很多情况下使用它来提供 Rest API。而对于 Rest API 来说很重要的一部分内容就是文档,Swagger 为我们提供了一套通过代码和注解自动生成文档的方法,这一点对于保证 API 文档的及时性将有很大的帮助。本文将使用 Swagger 2 规范的 Springfox 实现来了解如何在 Spring Boot 项目中使用 Swagger,主要包含了如何使用 Swagger 自动生成文档、使用 Swagger 文档以及 Swagger 相关的一些高级配置和注解。
beifengtz
2019/07/30
1.4K0
在 Spring Boot 项目中使用 Swagger 文档
6款国内外好用的API文档工具介绍
从零编写API文档既耗时又复杂,因此大多数企业都依赖API文档工具来简化这些工作。 API文档工具有助于自动化创建和管理文档,并以易于阅读和理解的方式帮助用户去格式化和显示信息,即使对于没有技术背景的用户也能轻松使用。
快递100API
2021/05/17
5.9K1
拥抱 OpenAPI 3: springdoc-openapi 食用指南
使用 springdoc-openapi 可以快速为 springboot 项目生成规范的 API 文档,具体使用步骤如下:
phoenix.xiao
2022/11/11
6.9K0
拥抱 OpenAPI 3: springdoc-openapi 食用指南
Swagger使用总结
自此一个非常方便又简单的swagger-ui集成好了,写完业务逻辑代码可以立马公布restful api给前端调用。
XING辋
2019/03/26
1.1K0
Swagger使用总结
只会用 Spring Boot 创建微服务?那你就 OUT 了,还有这 4 种替代方案!
点击关注公众号,Java干货及时送达 前言 在 Java 和 Kotlin 中, 除了使用Spring Boot创建微服务外,还有很多其他的替代方案。 名称 开发商 Helidon SE 甲骨文 Ktor JetBrains Micronaut Object Computing Quarkus Red Hat Spring Boot Pivotal 本文,基于这些微服务框架,创建了五个服务,并使用Consul的服务发现模式实现服务间的 相互通信。因此,它们形成了异构微服务架构(Heterogeneous
Java技术栈
2022/09/27
6.2K0
只会用 Spring Boot 创建微服务?那你就 OUT 了,还有这 4 种替代方案!
Swagger快速使用
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
鱼找水需要时间
2023/02/16
2010
1. 了解Groovy
最近,对Groovy脚本语言的兴趣越来越多了,刚巧对于java语言比较熟悉,了解和入手Groovy可以说丝毫不困难。
zinyan.com
2022/12/07
1.4K0
1. 了解Groovy
Java近期新闻:Grails 6.0、PrimeFaces 13.0、JUnit 5.10、GraalVM、新的 JEP 草案
甲骨文(Oracle)的软件架构师 Maurizio Cimadamore 已经提交了 JEP Draft 8310626,外部函数和内存 API。该 JEP 提议在经过两轮孵化和三次预览后最终确定该特性:JEP 412,外部函数和内存 API(孵化阶段),在 JDK 17 中交付;JEP 419,外函数与内存 API(第二轮孵化),在 JDK 18 中交付;JEP 424,外部函数和内存 API(预览版),在 JDK 19 中发布;JEP 434,外部函数和内存 API(第二次预览),在 JDK 20 中发布;以及 JEP 442,外部函数和内存 API(第三次预览),将在即将发布的 JDK 21 中发布。自上一个版本发布以来的改进包括:一个新EnableNativeAccess 清单属性,允许可执行 JAR 中的代码在不使用--enableNativeAccess标志的情况下调用受限方法;允许客户端以编程方式构建 C 函数描述符,避免使用特定于平台的常量;改进了对本地内存中可变长度数组的支持;以及支持本地字符串中的多个字符集。
深度学习与Python
2023/09/08
2010
Java近期新闻:Grails 6.0、PrimeFaces 13.0、JUnit 5.10、GraalVM、新的 JEP 草案

相似问题

在libreoffice宏中打开xlsx

12

Python将宏运行到xlsx文件

17

在XLS和XLSX中使用Excel宏

22

将Python或Perl与PHP集成

31

用于添加图表的Perl Excel::Writer::XLSX

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文