博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对象返回规范的url的两种方式的两种方式
阅读量:4332 次
发布时间:2019-06-06

本文共 879 字,大约阅读时间需要 2 分钟。

1. 在类模型中添加get_absolute_url()

def get_absolute_url(self):        #使用strftime()保证个位数的月份和日期需要带0来构建url        return reverse('blog:post_detail',args=[self.publish.year,self.publish.strftime('%m'),self.publish.strftime('%d'),self.slug])

2.另外一种方式为一个模型(model)指定一个URL是为你的项目添加ABSOLUTE_URL_OVERRIDES设置(如果是内置模型,该方式十分管用)。

ABSOLUTE_URL_OVERRIDES = {    'auth.user': lambda u: reverse_lazy('user_detail',                                        args=[u.username])}

3.Django会为所有出现在ABSOLUTE_URL_OVERRIDES设置中的模型(models)动态添加一个get_absolute_url()方法。这个方法会给设置中指定的模型返回规范的URL。我们给传入的用户返回user_detail URL。现在你可以在一个User实例上使用get_absolute_url()来取回他自身的规范URL。打开Python shell输入命令python manage.py shell运行以下代码来进行测试:

>>> from django.contrib.auth.models import User>>> user = User.objects.latest('id')>>> str(user.get_absolute_url())'/account/users/ellington/'

 

转载于:https://www.cnblogs.com/hhy-love-python/p/8509630.html

你可能感兴趣的文章
小D课堂 - 新版本微服务springcloud+Docker教程_5-08 断路器监控仪表参数
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-02 springcloud网关组件zuul
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-1.快速搭建SpringBoot项目,采用Eclipse...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-4.在线教育后台数据库设计...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-3.热部署在Eclipse和IDE里面的使用...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-3.在线教育站点需求分析和架构设计...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-4.后端项目分层分包及资源文件处理...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-2.快速搭建SpringBoot项目,采用IDEA...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-5.PageHelper分页插件使用
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-6.微信扫码登录回调本地域名映射工具Ngrock...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-8.用户模块开发之保存微信用户信息...
查看>>
代码片段收集
查看>>
vue-cli3创建项目时报错
查看>>
输入1-53周,输出1-53周的开始时间和结束时间
查看>>
实验二
查看>>
shell——按指定列排序
查看>>
crash 收集
查看>>
507 LOJ 「LibreOJ NOI Round #1」接竹竿
查看>>
UI基础--烟花动画
查看>>
2018. 2.4 Java中集合嵌套集合的练习
查看>>