Django 基于类的视图 (TemplateView) 中的 URL 参数和逻辑

2023-12-13

我不清楚如何最好地访问 Django 1.5 中基于类的视图中的 URL 参数。

考虑以下:

View:

from django.views.generic.base import TemplateView


class Yearly(TemplateView):
    template_name = "calendars/yearly.html"

    current_year = datetime.datetime.now().year
    current_month = datetime.datetime.now().month

    def get_context_data(self, **kwargs):
        context = super(Yearly, self).get_context_data(**kwargs)
        context['current_year'] = self.current_year
        context['current_month'] = self.current_month
        return context

URLCONF:

from .views import Yearly


urlpatterns = patterns('',
    url(
        regex=r'^(?P<year>\d+)/$',
        view=Yearly.as_view(),
        name='yearly-view'
    ),
)

我想访问year在我看来,参数,所以我可以执行如下逻辑:

month_names = [
    "January", "February", "March", "April", 
    "May", "June", "July", "August", 
    "September", "October", "November", "December"
]

for month, month_name in enumerate(month_names, start=1):
    is_current = False
    if year == current_year and month == current_month:
        is_current = True
        months.append({
            'month': month,
            'name': month_name,
            'is_current': is_current
        })

如何最好地访问 CBV 中的 url 参数(如上面的子类)TemplateView理想情况下应该将这样的逻辑放置在哪里,例如。在一个方法中?


要访问基于类的视图中的 url 参数,请使用self.args or self.kwargs所以你可以通过这样做来访问它self.kwargs['year']

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 基于类的视图 (TemplateView) 中的 URL 参数和逻辑 的相关文章

随机推荐

  • C# - 如何将图像转换为 8 位彩色图像?

    我需要将从文件加载的 PNG 图像转换为另一个设备使用的每像素 8 位字节数组 嵌入式编程 我正在逐像素复制到使用 16 位颜色创建的新图像中 Format16bppRgb565 但是我需要Format8bpp NET Framework
  • Java 中的修剪字符

    如何在 Java 中修剪字符 e g String j joe jill Trim new char j应该 乔 吉尔 String j jack joe jill Trim jack j应该 乔 吉尔 etc 阿帕奇共享区有一个伟大的St
  • UISearchDisplayController隐藏导航栏

    我看到一个奇怪的情况 我在导航栏中放置了一个搜索栏 并将 UISearchDisplayController 与搜索栏链接起来 现在 当用户单击搜索栏时 搜索显示控制器倾向于隐藏导航栏 因此也隐藏搜索栏 为了解决这个问题 我对 UISear
  • CDI Eager Application 作用域 bean

    Since ManagedBean eager true 将被弃用 您如何创建eager 应用程序范围的 cdi bean 通过使用 CDI 扩展框架解决了这个问题 创建预选赛 Qualifier Target value ElementT
  • 将两个数据库表合二为一?

    在将关系数据库建模为库存管理系统时 我遇到了一些麻烦 目前 它只有 3 个简单的表 Product ID Name Price 收入 ID Date Quantity Product ID FK Sales ID Date Quantity
  • 如何将 Joda-Time DateTimeFormat.forStyle() 转换为 JSR 310 Java 时间?

    我正在将 Grails Joda Time 插件转换为JavaTime 我有旧的乔达时间代码 如下所示 def style switch type case LocalTime style S break case LocalDate st
  • Java:递归查找列表中的最小元素

    我会先说这是家庭作业 我只是在寻找一些指示 我一直在为这个问题绞尽脑汁 但我一生都没有明白 我们被要求找到列表中的最小元素 我知道我在这里需要一个子列表 但之后我不确定 任何指示都会很棒 谢谢 Find the minimum elemen
  • Metal RGB 到 YUV 转换计算着色器

    我正在尝试编写一个 Metal 计算着色器来从 RGB 转换为 YUV 但遇到构建错误 typedef struct float3x3 matrix float3 offset ColorConversion Compute kernel
  • 如何检测页面是否为 RSS 或 ATOM 提要

    我目前正在用 PHP 构建一个新的在线 Feed 阅读器 我正在开发的功能之一是提要自动发现 如果用户输入网站 URL 脚本将检测到它不是提要 并通过解析 HTML 来查找正确的提要 URL tag 问题是 我目前检测 URL 是否为提要或
  • 如何将故事板合并到cocos2d 2.0项目中?

    我在 cocos2d 2 0 中做了一个项目 想使用故事板合并一个主菜单 我在tinytimgames com上尝试过Jerrod Putnam的教程 我无法提供链接 因为新用户每个帖子只允许有2个链接 但如果你用谷歌搜索 cocos2d
  • 将 UIView 叠加到 Cocos 层上?

    我是 iOS 和 Cocos 开发新手 目前 我的 HelloWorldLayer 类中有一个基本的应用程序 它包含我的精灵和触摸交互方法 一切都很好 我正在尝试在当前看到的内容之上添加另一个 面板 UIView 最终 该面板将具有与主画布
  • 浏览器什么时候执行Javascript?执行光标如何移动?

    我想知道是否有任何可用资源来描述浏览器光标如何执行 Javascript 我知道它会在页面加载时加载并执行标签 并且您可以将函数附加到各种窗口事件 但事情变得模糊的是 例如 我通过 AJAX 检索远程页面并将其内容放入 div 中 如果该远
  • 低延迟(< 2s)实时视频流 HTML5 解决方案?

    由于 Chrome 很快就会默认禁用 Flash 我需要开始研究 flash rtmp html5 替代解决方案 目前 使用 Flash RTMP 我有一个延迟 我尝试过 MPEG DASH 它似乎是流媒体的新行业标准 但效果不佳 5 秒延
  • 保存自定义对象的 NSArray

    我创建了 UIImage UIImageExtra 的子类 因为我想包含额外的属性和方法 我有一个包含此自定义类的实例的数组 但是 当我保存该数组时 似乎 UIImageExtra 类中的额外数据未保存 UIImageExtra 符合 NS
  • 外部链接 C 库中的异常传播

    我正在编写一个使用外部第三方 C 库的 C 库 因此 我的库将调用该第三方库中的函数 而第三方库将回调到我库的不同部分 我想知道在这种情况下异常会发生什么 假设 MyLib foo 调用外部 C 库函数 最终调用 MyLib bar 并且
  • 关闭 Eclipse 错误(这并不是真正的错误)[重复]

    这个问题在这里已经有答案了 可能的重复 禁用 Eclipse 的错误发现 Codan 误报 由于 GCC 4 8 Clang 3 3 C 支持远远领先于 Eclipse 的语法检查 就功能支持而言 Eclipse 将许多东西标记为实际上有效
  • Qt 中自动生成的 UI 标头

    我在 Qt Creator 工作 有点困惑 当我在 Qt Designer 中生成 UI 文件时 我注意到在标题为 ui 的 cpp 文件中加载了一个关联的头文件filename 我对这个标头是如何生成的有些困惑 请参考下图 该文件特别是
  • 网络摄像头在 opencv-python 和 opencv-contrib-python 的 pip 版本中不起作用

    我在使用 anaconda 的 python 中的 opencv 中遇到了网络摄像头的问题 问题如下 如果通过两者之一安装 opencv 我无法打开网络摄像头 pip install opencv python 可用 3 1 3 2 3 3
  • 工作灯真实性

    我们正在 Worklight 上开发混合应用程序 我们需要实现应用程序的真实性 我们将 Worklight Enterprise 版本 6 2 0 1 与 IBM 应用程序中心结合使用 但是 当我们在 Android 上启动应用程序时 我们
  • Django 基于类的视图 (TemplateView) 中的 URL 参数和逻辑

    我不清楚如何最好地访问 Django 1 5 中基于类的视图中的 URL 参数 考虑以下 View from django views generic base import TemplateView class Yearly Templa