首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Django Feed错误:“function”对象没有属性'startswith‘

Django Feed错误:“function”对象没有属性'startswith‘
EN

Stack Overflow用户
提问于 2016-04-04 05:10:05
回答 1查看 1.4K关注 0票数 1

我正在使用Django 1.8,并试图为我的项目创建一个简单的提要。下面是创建提要的feeds.py文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from django.contrib.syndication.views import Feed
from django.template.defaultfilters import truncatewords
from valueFact.models import ValueFactPost


class LatestPostsFeed(Feed):
    title = "Contributions from members"
    link = "/companies/"
    description = "New Contributions by members"

    def items(self):
        return ValueFactPost.published.all()[:5]

    def item_title(self, item):
        return item.title

    def item_description(self, item):
        return truncatewords(item.body, 30)

我的应用程序url.py文件如下:

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

from valueFact import views
from valueFact.feeds import LatestPostsFeed


urlpatterns = [
    url(r'^$',
        views.valueFactListView.as_view(),
        name='valueFact_list'),
    url(r'^(?P<year>\d{4})/(?P<post>[-\w]+)/$',
        views.valuefact_detail,
        name='valuefact_detail'),
    url(r'^(?P<fact_id>\d+)/share/$',
        views.valuefact_share,
        name='valuefact_share'),
    url(r'^feed/$', LatestPostsFeed(), name='post_feed'),
]

我将浏览器定向到url 'companies/feed',并得到以下错误。注意,我已经在主项目url conf文件中包含了所有这些应用程序url,并且它正常工作(例如,当我键入127.0.0.1:8000/companies时,我得到了我想要的页面)。

编辑:这是完整的跟踪

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Environment:


Request Method: GET Request URL: http://127.0.0.1:8000/companies/feed/

Django Version: 1.8 Python Version: 3.5.0 Installed Applications: ('django.contrib.auth',  'django.contrib.contenttypes',  'django.contrib.sessions',  'django.contrib.messages',  'django.contrib.staticfiles',  'django.contrib.admin',  'django.contrib.sites',  'django.contrib.sitemaps',  'djangobower',  'rest_framework',  'stockData',  'accounts',  'functional_tests',  'valueFact') Installed Middleware: ('django.contrib.sessions.middleware.SessionMiddleware',  'django.middleware.common.CommonMiddleware',  'django.middleware.csrf.CsrfViewMiddleware',  'django.contrib.auth.middleware.AuthenticationMiddleware',  'django.contrib.auth.middleware.SessionAuthenticationMiddleware',  'django.contrib.messages.middleware.MessageMiddleware',  'django.middleware.clickjacking.XFrameOptionsMiddleware',  'django.middleware.security.SecurityMiddleware')


Traceback: File "/Users/djunh/Programming/viex/virtualenv/lib/python3.5/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/Users/djunh/Programming/viex/virtualenv/lib/python3.5/site-packages/django/contrib/syndication/views.py" in __call__
  43.         feedgen = self.get_feed(obj, request) File "/Users/djunh/Programming/viex/virtualenv/lib/python3.5/site-packages/django/contrib/syndication/views.py" in get_feed
  174.                 request.is_secure(), File "/Users/djunh/Programming/viex/virtualenv/lib/python3.5/site-packages/django/contrib/syndication/views.py" in add_domain
  19.     if url.startswith('//'):

Exception Type: AttributeError at /companies/feed/ Exception Value: 'function' object has no attribute 'startswith'

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-09-15 04:32:20

如果没有在模型上定义get_absolute_url(self),则可能需要定义item_link

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# item_link is only needed if NewsItem has no get_absolute_url method.
def item_link(self, item):
    return reverse('news-item', args=[item.pk])

来自文档

要指定<link>的内容,您有两个选项。对于 item ()中的每个项,Django首先尝试调用Feed类上的item_link()方法。它以类似于标题和描述的方式传递给它一个参数,item。如果该方法不存在,Django将尝试在该对象上执行get_absolute_url()方法。get_absolute_url()item_link()都应该将项的URL作为普通的Python返回。与get_absolute_url(),一样,item_link()的结果将直接包含在URL中,因此您负责在方法本身内执行所有必要的URL引用和转换到ASCII。

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

https://stackoverflow.com/questions/36403632

复制
相关文章
React中利用Error Boundaries实现错误捕捉
错误边界是一种 React 组件,这种组件可以捕获发生在其子组件树任何位置的 JavaScript 错误,并打印这些错误,同时展示降级 UI,而并不会渲染那些发生崩溃的子组件树。错误边界可以捕获发生在整个子组件树的渲染期间、生命周期方法以及构造函数中的错误
henu_Newxc03
2022/05/18
7770
vue-axios-vuex-全家桶
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。简单来说就是前端最火最简单的一个http请求解决方案。
达达前端
2021/09/08
2.7K0
vue,vue-router,vuex,axios整合
*vue官网:https://cn.vuejs.org/ vue-router官网:https://router.vuejs.org/zh-cn/ vuex官网:https://vuex.vuejs.org/zh-cn/ axios中文说明:https://www.kancloud.cn/yunye/axios/234845 vue-cli建立项目 npm install -g vue-cli 全局安装vue脚手架 vue init webpack-simple project-name 使用w
conanma
2021/11/03
1.2K0
像专业人士一样捕捉 async/await 中的错误
请参考以下代码片段,我们在其中有多个 try catch 块,带有 await 功能。
前端小智@大迁世界
2023/08/16
2650
像专业人士一样捕捉 async/await 中的错误
安卓程序崩溃错误捕捉
在开发安卓程序时,本地测试没任何问题,但去到客户处不是这里麻烦就是哪里不行。最后还来个程序崩溃。。最令人头疼的就是崩溃,因为程序的崩溃总是悄然无息的,有时候根本都没办法进行复现处理,,经过一段的摸索后,总算发现安卓有个程序崩溃前的接口(CrashHandler)在崩溃前会执行,这样就能很好的捕获到错误了。
谭广健
2019/11/13
1.3K0
2.封装axios、本地存储,安装vuex、element
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 Element 一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库
RtyXmd
2018/08/30
1.4K0
2.封装axios、本地存储,安装vuex、element
axios django CSRF 403错误
使用axios直接post django的接口的时候会提示CSRF 403错误 可以在post的data中转入csrftoken 也可以给单个方法关闭 from django.views.decorators.csrf import csrf_exempt,csrf_protect @csrf_exempt def test(request): pass
小贝壳
2020/03/05
1.4K0
Vuex中的mapGetters
mapGetters([‘language’,’token‘]) 参数是个数组,数组里是你想要映射的getters里的值
全栈程序员站长
2022/07/01
5400
webgis中捕捉功能的实现
本文以openlayers为例,结合turf.js讲一下webgis中绘制和编辑时如何实现捕捉功能。
牛老师讲GIS
2021/12/06
7720
webgis中捕捉功能的实现
axios封装错误请求函数
在使用axios作为请求工具时我们通常不在catch中对错误操作进行处理,我们可以将请求错误的操作放在响应拦截器中进行,日常开发只需要在then做业务即可。
用户6256742
2022/07/06
1.2K0
JS 拦截/捕捉 全局错误 全局Error onerror
 移动Web开发过程中,在真机测试时,往往会遇到一些PC调试无法重现的问题,这时候我们需要在手机上拦截错误,并有相应的输出。 公司和网上都有类似的工具/类库,但如果纯粹一个简单的调试,或许不需要引入工具或类库,我们只需要知道全局拦截的原理。 其实很简单,就是window.onerror 语法: onerror=handleErr function handleErr(msg,url,l) { //Handle the error here return true or false } 浏览器是否显示标准的
用户1258909
2018/07/03
4.2K0
如何使用Vue.js和Axios来显示API中的数据
Vue.js是一个用于构建用户界面的前端JavaScript框架。 它的设计从头开始逐步采用,并与其他图书馆或现有项目完美集成。 这使它非常适合小型项目以及与其他工具和库一起使用的复杂单页应用程序。
子润先生
2021/06/15
8.8K0
Vuex中的核心方法
Vuex是一个专为Vue.js应用程序开发的状态管理模式,其采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。每一个Vuex应用的核心就是store仓库,store基本上就是一个容器,它包含着你的应用中大部分的状态state。
WindRunnerMax
2020/12/01
2.2K0
(五)Vuex 中的Actions
actions 和 mutations 整体上是一样的,但是actions 支持异步代码 mutations 只支持同步代码,另外 actions 不会直接修改全局状态 而是出发 mutations 来修改全局状态
老怪兽
2023/02/22
4240
Vue中的Vuex详解
        C.存储在vuex中的数据是响应式的,当数据发生改变时,页面中的数据也会同步更新
陶然同学
2023/02/27
1.4K0
Vue中的Vuex详解
uniapp 中 vuex 的使用
uniapp 内置了 vuex,不需像 vue 脚手架那样里通过 npm 安装了,我们只需要引用就行了
很酷的站长
2022/12/04
1.4K0
uniapp 中 vuex 的使用
让你的博客在QQ中以XML形式显示
1、复制下面链接,把后面域名更为成自己的 (红色区域,注意域名前面HTTPS),复制到浏览器打开 。
SingYi
2022/07/13
1.7K0
让你的博客在QQ中以XML形式显示
Vuex中的核心方法
Vuex是一个专为Vue.js应用程序开发的状态管理模式,其采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。每一个Vuex应用的核心就是store仓库,store基本上就是一个容器,它包含着你的应用中大部分的状态state。
WindRunnerMax
2020/11/30
2K0
vue中axios的封装
5. 封装post, get 请求 (此示例没有封装,可根据项目情况而定,因为封装后,对于一些特殊接口设置不是太灵活,需要我们项目没有选择封装,如果请求方法比较单一的,可以考虑封装)
用户9914333
2022/07/21
1.3K0
vue中axios的封装
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
大龄老码农-昊然
2021/05/13
3.4K0
vue中axios的封装

相似问题

Axios捕捉承诺错误

11

Vuex模块CORS中的Nuxtjs Axios错误

10

Vuex动作-返回Axios返回错误

10

如何从Vuex操作中的axios函数返回错误消息以调度catch(错误)?

29

无法捕捉axios react.js中的错误

34
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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