Skip to main content
 首页 » 编程设计

Python/Django 列表对象没有属性 'status_code'

2024年08月28日24yxwkf

我有一个从指定站点提取链接的 Python 脚本,我想使用 Django 从中制作一个单页 Web 应用程序。这是我的第一个 Python 和 Django 项目,所以我希望它尽可能简单以避免任何困惑,但我有点卡住了。

这是我的views.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 项目,我只使用了其中的 1 个。同样,保持简单并避免困惑

这是我的 urls.py

from django.conf.urls import patterns, include, url 
 
from django.contrib import admin 
admin.autodiscover() 
 
urlpatterns = patterns('', 
    url(r'^hello/$', 'listing.views.businessghana'), 
 
    url(r'^admin/', include(admin.site.urls)), 
) 

这是我的模型.py:

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

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

当我访问 url 时:

127.0.0.1:8000/hello/ 

我收到错误“list”对象没有属性“status_code”。

假设这是一个单页站点,它只显示从 View 中的函数检索到的链接。我还有其他计划让它变得更复杂一些,但我想从这个开始。

请问我错过了什么?

models.py 的内容有意义吗?

提前致谢

请您参考如下方法:

Django View 必须返回一个 HttpResponse,而不是一个列表。