Django - url 的动态视图

2023-12-13

我想根据 url 加载特定视图,例如:

url(r'^channel/(?P<channel>\d+)/$', ---, name='channel_render'),

根据传入 url 的通道,我想加载特定的视图文件。我尝试这样做:

def configure_view(channel):
    print channel

urlpatterns = patterns('',
    url(r'^channel/(?P<channel>\d+)/$', configure_view(channel), name='channel_render'),

但显然频道参数没有被传入。有什么办法可以做到这一点吗?我能想到的唯一其他解决方案是加载管理器视图,然后从那里加载相关的视图文件。如果这是唯一的方法,如何从视图内重定向到另一个视图文件?


你可以做这样的事情。

#urls.py
url(r'^channel/(?P<channel>\d+)/$', switcher, name='channel_render'),

#views.py
def switcher(request, channel):
    if channel == 'Whatever':
        return view_for_this_channel()

def view_for_this_channel()
    #handle like a regular view

如果使用基于类的视图,则您的调用switcher()看起来像这样:

#views.py
def switcher(request, channel):
    if channel == 'Whatever':
        return ViewForThisChannel.as_view()(request)  # <-- call to CBV

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

Django - url 的动态视图 的相关文章

  • ImportError:在 Google 应用引擎中找不到 django.utils

    当我在 google app engine 项目中使用 django utils 中的 simplejson 时 出现此错误 Traceback most recent call last File base python27 runtim
  • 如何修改查询集并将其另存为新对象?

    我需要查询特定模型的一组对象 更改单个属性 列 帐户 然后将整个查询集的对象保存为新对象 行 换句话说 我想复制对象 并在重复项上更改单个属性 帐户 我基本上是创建一个新帐户 然后检查每个模型并将以前帐户的对象复制到新帐户 因此我将使用不同
  • 无法编辑,但可以在 Django 管理中添加新的内联

    这是我的模型 class Note note models TextField null False blank False editable True user models ForeignKey to User null True bl
  • 基于类的通用视图额外的上下文

    在基于类的视图之前 有一个可以在 urlsconf 中传递的 extra context 关键字 https docs djangoproject com en 1 3 topics generic views adding extra c
  • 如何检索分配给 Django 中的组的所有权限

    我正在执行一项任务来检索分配给 Django 中的组的一组权限 我可以使用以下代码获取创建的组 但无法使用它来获取分配给它们的权限 from django contrib auth models import Group Permissio
  • Django 查询:“datetime + delta”作为表达式

    好吧 我的问题如下 假设我有下一个模型 这是一个简单的情况 class Period models Model name CharField field specs here start date DateTimeField field s
  • Django 子应用程序和模块结构

    我正在开发一个 Django 应用程序 这是一个大型系统 需要多个子应用程序来保持整洁 因此 我有一个顶级目录 它是 Django 应用程序 因为它有一个空的models py文件 和多个子目录 它们本身也是应用程序 我以这种方式布局应用程
  • 如何在 Django 中将 pdf 作为电子邮件附件发送

    您好 我正在使用以下 2 个函数来创建并通过邮件即时发送 pdf 我究竟做错了什么 导出pdf功能在浏览器中显示时可以正常工作 我得到的错误是 类型错误 ContentFile 对象不支持索引 我做错了什么 几乎所有这些代码都来自一些博客
  • Django 中的 Rpy2 错误 - 未为“”类型的对象定义转换“py2rpy”

    我以前从未使用过 R 并且正在尝试使用 rpy2 从 python 调用 R 函数 它可以在独立的 python 终端上运行 但不能在 Django 中运行 但rpy2似乎无法将python字符串转换为r对象 我正在使用同事提供的自定义库
  • Django Rest Framework POST 更新(如果存在或创建)

    我是 DRF 的新手 我阅读了 API 文档 也许这是显而易见的 但我找不到一个方便的方法来做到这一点 我有一个Answer与 a 具有一对一关系的对象Question 在前端 我曾经使用 POST 方法来创建发送到的答案api answe
  • Django - 隐藏内联标签

    如何在 Django 内联中隐藏标签 当我理解正确时 您可以通过添加属性将 verbose name 设置为模型中的空字符串 verbose name 到你的领域就像 street models CharField max length 5
  • 在 Redis 上为 Django 和 Express.js 应用程序共享会话存储

    我想创建一个包含一些登录用户的 Django 应用程序 另一方面 由于我想要一些实时功能 所以我想使用 Express js 应用程序 现在的问题是 我不希望身份不明的用户访问 Express js 应用程序的日期 因此 我必须在 Expr
  • 如何使用UpdateView?

    我有两个可能相关的 UpdateView 问题 首先 它不是更新用户而是创建一个新的用户对象 其次 我无法限制表单中显示的字段 这是我的观点 py class RegistrationView FormView form class Reg
  • Django HTTPS 和 HTTP 会话

    我使用 Django 1 1 1 和 ssl 重定向中间件 通过 HTTPS 创建的会话数据 身份验证等 在站点的 HTTP 部分中不可用 无需将整个站点设置为 HTTPS 即可使其可用的最佳方法是什么 这是设计使然 您无法轻易更改 当通过
  • HTMX 用于处理来自 django 后端的消息

    我想使用 HTMX 来显示来自 django 后端的消息 经过大量的试验和错误 我最终得到了一个可行的解决方案 我想把它留给任何寻找它的人 另外 请随时发表您的建议 不幸的是 除了一点点example https github com ad
  • Django + nginx + uwsgi 无法登录

    我有非常简单的登录逻辑 类似于官方 Django 解决方案 class Login FormView template name login html form class AuthenticationForm def get self a
  • 基于值而不是类型的单次调度

    我在 Django 上构建 SPA 并且有一个庞大的功能 其中包含许多功能if用于检查我的对象字段的状态名称的语句 像这样 if self state new do some logic if self state archive do s
  • “从表中选择不同的字段名称”Django使用原始sql

    我怎样才能跑SELECT DISTINCT field name from table Django 中的 SQL 查询为raw sql 当我尝试使用时Table objects raw SELECT DISTINCT field name
  • 仅允许正小数

    在我的 Django 模型中 我创建了一个如下所示的小数字段 price models DecimalField u Price decimal places 2 max digits 12 显然 价格为负或零是没有意义的 有没有办法将小数
  • django jet 中的自定义徽标

    我目前正在尝试对 django 管理面板的皮肤进行一些定制 以使其更符合我们的品牌 目前我们使用 django jet 来美化管理面板 django jet 可以自定义 css html 吗 所有评论都说我应该更改一些 html 文件 但我

随机推荐