Python/Django list对象没有属性“status\u code”

2024-09-30 05:20:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python脚本,它从指定的站点提取链接,我想用Django从中创建一个单页webapp。这是我的第一个Python和Django项目,所以我希望它尽可能简单,以避免任何融合,但我有点卡住了。在

这是我的视图.py在

from django.http import HttpResponse
from bs4 import BeautifulSoup
import urllib2, sys
import urlparse
import re
import time, threading

def businessghana(request):
    site = "http://www.businessghana.com/portal/jobs"
    hdr = {'User-Agent' : 'Mozilla/5.0'}
    req = urllib2.Request(site, headers=hdr)
    jobpass = urllib2.urlopen(req)
    soup = BeautifulSoup(jobpass)
    for tag in soup.find_all('a', href = True):
         tag['href'] = urlparse.urljoin('http://www.businessghana.com/portal/', tag['href'])
    return map(str, soup.find_all('a', href = re.compile('.getJobInfo')))
    threading.Timer(3600, businessghana).start()

对于10个不同的站点有大约10个这样的函数,但是它们的性质相似,所以对于Django项目,我只使用其中一个。同样,为了保持简单,避免熔合

这是我的网址.py在

^{pr2}$

这是我的模型.py公司名称:

(我想我在胡说八道,但这是我能想到的最好的办法)

class jobLinks(models.Model):
    links = models.CharField(max_length = 200)
    pub_date = models.DateTimeField('date retrieved')

    def __unicode__(self):
        return self.links

当我访问网址时:

127.0.0.1:8000/hello/

我得到错误“list”对象没有“status”属性“code”。在

假设这是一个单页站点,它只显示从视图中的函数检索到的链接。我有其他的计划,使它更复杂一点,但我想从这个开始。在

拜托,我缺了什么?在

是模型.py内容有意义吗?在

提前谢谢


Tags: 项目djangopyimport视图http站点链接
2条回答

Django视图必须返回HttpResponse,而不是列表。在

这是一个noob问题,但就像@bruno说的Django视图必须返回HttpResponse。在

为了做到这一点,我只需将返回语句包装在一个HttpResponse上,所以它看起来像这样:

return HttpResponse(map(str, soup.find_all('a', href = re.compile('.getJobInfo'))))

相关问题 更多 >

    热门问题