Django 使用 Slug 字段作为详细 URL

2024-02-13

我正在尝试设置我的网站,以便我的工作详细信息的 url 将使用 slug 字段而不是 pk。它告诉我它无法使用给定的 slug (这是一个 int,147)找到我的工作。

Update:

查看 DetailView 描述后https://ccbv.co.uk/projects/Django/1.11/django.views.generic.detail/Det​​ailView/ https://ccbv.co.uk/projects/Django/1.11/django.views.generic.detail/DetailView/我意识到有一个slug_field属性为DetailView。我的新视图如下所示:

class JobDetailView(CacheMixin, DetailView):
    model = Job
    slug_field = 'slug'

问题:

urls:

urlpatterns = [
    url(r'^careers$', views.job_list, name='job-list'),
    url(r'^careers/(?P<slug>[0-9]+)/$', views.JobDetailView.as_view(), name='job-detail'),
]

view:

class JobDetailView(CacheMixin, DetailView):
    model = Job
    pk_url_kwarg = 'slug'
    def get_object(self, *args, **kwargs):
        # Call the superclass
        object = super(JobDetailView, self).get_object()
        # Return the object
        return object

    def get(self, request, *args, **kwargs):
        object = super(JobDetailView, self).get(request, *args, **kwargs)
        return object

model:

class Job(UpdateAble, PublishAble, models.Model):
    slug = models.CharField(unique=True, max_length=25)
    facility = models.ForeignKey('Facility')
    recruiter = models.ForeignKey('Recruiter')
    title = models.TextField()
    practice_description = models.TextField(blank=True, default="")
    public_description = models.TextField(blank=True, default="")

    objects = JobManager()

    def get_next(self, **kwargs):
        jobs = Job.objects.published()
        next = next_in_order(self, qs=jobs)
        if not next:
            next = jobs[0]
        return next

    def get_prev(self, **kwargs):
        jobs = Job.objects.published()
        prev = prev_in_order(self, qs=jobs)
        if not prev:
            prev = jobs[len(jobs)-1]
        return prev

    def __str__(self):
        return f'{self.facility}; {self.title}'

manager:

class JobManager(models.Manager):

    def published(self):
        return super(JobManager, self).get_queryset().filter(is_published=True).order_by('facility__name', 'title')

你实际上不需要定义pk_url_kwarg根本没有,事实上,这样做会让事情变得混乱,导致找不到对象。

正如你可以看到的默认实现get_object http://ccbv.co.uk/projects/Django/1.11/django.views.generic.detail/SingleObjectMixin/#get_object,视图通常寻找pk or slugURL 中的 kwarg;无论找到什么,都将用于查找。但通过设置pk_url_kwarg to slug,您告诉视图获取名为“slug”的 URL kwarg,但是用它来查找PK场,这显然行不通。

只需完全删除该属性,Django 将检测您的 slug kwarg 并使用它来正确查找 slug 字段。

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

Django 使用 Slug 字段作为详细 URL 的相关文章

  • 如何在 Django 中将 pdf 作为电子邮件附件发送

    您好 我正在使用以下 2 个函数来创建并通过邮件即时发送 pdf 我究竟做错了什么 导出pdf功能在浏览器中显示时可以正常工作 我得到的错误是 类型错误 ContentFile 对象不支持索引 我做错了什么 几乎所有这些代码都来自一些博客
  • Django 中的所有模型基本上都有分配给对象变量的初始化构造函数吗

    假设我有这样的东西 class Album models Model artist models CharField max length 128 unique True title models CharField max length
  • 随机数据库与 AWS 中的 Django 和 Postgresql 断开连接

    我试图找出 Django 和数据库连接错误问题的根源 此时 我正在调试提示 因为我认为症状太不具体 一些背景 我一直在使用这个堆栈 在 AWS 中部署了很多年 没有出现任何问题 Ubuntu 在本例中为 20 04 LTS Nginx Uw
  • 在父类中访问子类变量

    我有一个父类和一个继承的子类 我想知道如何访问我的父类中的子类变量 我尝试了这个但失败了 class Parent object def init self print x class Child Parent x 1 x Child Er
  • 更新到 1.11:TypeError build_attrs() 最多接受 2 个参数(给定 3 个)

    我从 1 10 7 更新到 1 11 0 在查看表单时收到以下错误 我根本无法理解我的形式有什么问题 其他形式的工作方式相同 我怀疑这可能是与任何一个的相互作用select2 https github com applegrew djang
  • Django Admin DateTimeField 显示 24 小时格式时间

    我尝试了谷歌 但没有找到解决方案 在Django管理端 我正在显示开始日期 and end date随着时间的推移 但时间已在24 hr格式 我想显示它12 hr format class CompanyEvent models Model
  • Django SessionWizardView不执行done方法

    我无法让我的 SessionWizardView 工作 当我提交最后一步时 向导跳回第一步 不执行done方法 views py class CvWizardView CookieWizardView form list InfoPerso
  • Django 将所有未捕获的 url 路由到包含的 urls.py

    我希望每个不以 api 开头的网址都使用 foo urls py urls py from django conf urls import include url from foo import urls as foo urls urlpa
  • 如何将变量传递给 django 中的所有模板? [复制]

    这个问题在这里已经有答案了 我正在尝试将变量 浏览器变量 传递给我的应用程序中的所有模板 关于如何让它发挥作用有什么建议吗 View def browser request primary cat list Categories objec
  • 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 模型?

    因此 在我的 Django 项目中 我有几个不同的应用程序 每个应用程序都有自己的模型 视图 模板等 让这些应用程序进行通信的好方法 Django 方式 是什么 一个具体的例子是一个会议应用程序 它有一个会议模型 我有一个家庭应用程序 我想
  • TEST 镜像默认数据库但没有数据

    我正在尝试对我的 Django 应用程序进行一些测试 我使用了数据库镜像作为测试数据库 当我尝试运行一些测试时 默认数据库 中的数据似乎在镜像测试数据库中不可用 default sqlite ENGINE django db backend
  • Google App Engine Flexi 上 Django 的 Postgres 设置

    我正在尝试在应用程序引擎灵活环境中使用 postgres 设置 django 我按照这里的说明进行操作 https cloud google com appengine docs flexible python using cloud sq
  • 从 Django 调用 Postgres SQL 存储过程

    我正在开发一个带有 Postgresql 数据库的 Django 项目 我编写了一个可以在 Postgres 上完美运行的存储过程 现在我想从 Django 1 5 调用该存储过程 我已经编写了代码 但它提示错误 CREATE FUNCTI
  • 如何覆盖 Django 的默认管理模板和布局

    我正在尝试覆盖 Django 的默认模板 现在只有base site html 我正在尝试更改 django 管理文本 我做了以下事情 我在我的应用程序目录中创建了一个文件夹 opt mydjangoapp templates admin
  • “一旦获取切片就无法更新查询”。最佳实践?

    由于我的项目的性质 我发现自己不断地从查询集中取出切片 如下所示 Thread objects filter board requested board id order by updatedate 10 但这给我带来了实际对我选择的元素进
  • 如何使用 javascript/jquery/AJAX 调用 Django REST API?

    我想使用 Javascript jQuery AJAX 在前端调用 Django Rest API 请求方法是 POST 但当我看到 API 调用它的调用 OPTIONS 方法时 所以 我开始了解access control allow o
  • Django - 提交具有同一字段多个输入的表单

    预警 我对 Django 以及一般的 Web 开发 非常陌生 我使用 Django 托管一个基于 Web 的 UI 该 UI 将从简短的调查中获取用户输入 通过我用 Python 开发的一些分析来提供输入 然后在 UI 中呈现这些分析的可视

随机推荐

  • 如何在Postman中查看重定向链?

    有时我需要测试多次重定向单个请求的网站 作为一个简单的例子 我用 PHP 创建了一个示例脚本
  • 在 R 中绘制自定义 PDF

    Given 考虑密度函数 phi 定义于 mathbb R for a in mathbb R and b in mathbb R star 这样 forall x in mathbb R phi x a b frac 1 sqrt 2 p
  • 如何在 Eclipse 中运行 Sencha Touch 应用程序

    我是 sencha touch 和手机间隙的新手 我想在 eclipse 中运行简单的 hello word 应用程序 但我不知道该怎么做 如果有人知道 请尽快告诉我 提前致谢 阿米尔汗一世 UPDATE 好吧 有一个可用于 eclipse
  • SQL 中二进制字符串的汉明距离

    我的数据库中有一个表 我将 SHA256 哈希值存储在 BINARY 32 列中 我正在寻找一种方法来计算列中条目与提供值的汉明距离 即类似 SELECT FROM table ORDER BY HAMMINGDISTANCE hash U
  • 有没有一个jQuery插件可以满足我对多表单验证的要求? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 它有电话 邮政编码 电子邮件的正则表达式检查 比较检查电子邮件和密码 奖励 屏蔽并强制仅使用字母和数字选
  • 在多个模拟器上进行connectedAndroid测试

    背景 我想在不同模拟器上的 Jenkins 上运行我的 Android Instrumented 测试 假设我有 100 个测试和 4 个模拟器 我想在每个模拟器上运行 25 个测试 我表演 gradlew connectedDebugAn
  • 如何选择子值数组包含某个属性的 json 对象

    我有一个类似于以下内容的对象数组 id one tags my key true id two 如何为包含 my key 为 true 的标签的每个对象选择所有 id 值 您可以使用select with tags my key true
  • 所有不重复的子数组元素的组合

    我有数据库中的 属性 每个属性都有许多值 现在我想混合这些值来创建独特的组合 输入示例 a array 35 gt array green red brown 36 gt array fox house dog 输出 第二维度元素的所有可能
  • Windows 窗体是旧技术吗?

    是时候为我的项目编写 GUI 了 我想知道该使用什么技术 我的大部分 NET GUI 开发都是在 NET 1 和 2 中完成的 所以我知道Windows 窗体 http en wikipedia org wiki Windows Forms
  • 在 setup.cfg 中查找出现问题 |路径中看不到模块

    我一直在尝试正确打包我的 python 代码 将其上传到 git 上 然后安装在虚拟环境中 所有这些我都做了并且似乎工作得很好 问题是 一旦我在虚拟环境上安装我的代码 当我运行我的包时 python3 m mypackage 它会引发一个错
  • .Net 属性的默认值属性

    我在用户控件中得到了这段代码 DefaultValue typeof Color Red public Color MyColor get set 我该如何改变MyColor为其默认值 The DefaultValueAttribute不会
  • 使用切片功能限制结果自动完成jquery ui

    我需要限制此自动完成 jquery ui 脚本中的结果 最多 10 个 我知道我必须使用切片函数 但我无法将其正确放置在脚本中 在此先感谢您的帮助 document ready function var myArr ajax type GE
  • 如何在 Linux 上查找 C 中未初始化的变量?

    我的 C 源代码有许多未初始化的变量 该代码运行在 RHEL 6 4 操作系统上 有没有办法找到所有未初始化的变量 Finding all从数学意义上来说 其中任何一个都是不可能的 至少没有误报 但是 有一些工具可以帮助找到其中一些 打开编
  • 多标签分类中的 Spacy TextCat 分数

    在spacy的文本分类中火车文本猫 https github com explosion spaCy blob master examples training train textcat py例如 指定了两个标签Positive and
  • 如何在 Django Rest 框架中验证 API 请求(由匿名用户发起)?

    API 请求将由匿名用户发送 不存在登录 注册功能 我需要对 API 请求进行身份验证 我尝试的一种原始方法是在每个请求中发送身份验证密钥 这个身份验证密钥 I 作为常量保存在 Angular 前端中 一定有更好更复杂的方法 请帮忙 Dja
  • Scala 中函数对象的可变参数出错?

    为什么这不起作用 val f args Int gt args sum error expected but identifier found val f args Int gt args sum 然而这工作得很好 def sum args
  • CSS 相对定位与背景图像 + 背景位置

    我正在为图片库制作缩略图页面 缩略图预览是作为 ul 有浮动 li 具有固定的正方形尺寸 缩略图图像他们自己然而 它们不一定是正方形或相同大小 它们具有它们所代表的大图像的属性 为了使它看起来漂亮 我想在正方形中显示缩略图的中心 li li
  • Crystal Reports 和运行时数据绑定

    我已经为此苦苦挣扎了四天了 我有一个非常非常简单的水晶报告 我用它只是为了概念证明 该报告绑定到数据库 我仅显示数据库中一个表中的一个字段 没有子报告 它是使用 Crystal Reports 2008 创建的 我需要在我的 Net MVC
  • CSSRules 为空

    我有一个非常简单的 HTML 页面 我试图获取 poulet 的 CSSRules 但是当我访问 Documents styleSheets 0 cssRules 时 我在 Chrome v5 0 375 55 中收到此错误 未捕获的类型错
  • Django 使用 Slug 字段作为详细 URL

    我正在尝试设置我的网站 以便我的工作详细信息的 url 将使用 slug 字段而不是 pk 它告诉我它无法使用给定的 slug 这是一个 int 147 找到我的工作 Update 查看 DetailView 描述后https ccbv c