Django的新手,请耐心等待。我正在开发一个简单的链接聚合器站点。我有一个脚本从xml文件中提取链接和相关信息(标题,日期等)并将它们存储为列表。这是一个名为scraper.py
的文件,位于我的项目应用文件夹news
下。
scraper.py
从XML文件生成一系列列表。 scaper.py代码基本上如下:
def MakeLists():
###lots of code to get to this point###
###returns the following series of lists###
return Article_date, Article_link, Article_vote, Article_title, Article_publisher
这些输出对应于我的Django models.py
文件,如下所示:
class Article(models.Model):
title = models.TextField()
publisher = models.URLField()
link = models.URLField()
date = models.DateField()
pull_date = models.DateTimeField(auto_now=True)
vote = models.IntegerField(default=1)
以下是制作我的主页的视图,我最近尝试将新的抓取数据放入我的数据库(数据收集在MakeLists()
中):
class ArticleList(ListView):
model = Article
context_object_name = 'Articles'
pull_date = Article.objects.aggregate(Max('pull_date'))
def get_new_db_stuff(self):
check_time = datetime.datetime.now()-datetime.timedelta(hours=4)
if pull_date > check_time: #i.e., more than 4 hours ago
Article_date, Article_link, Article_vote, Article_title, Article_publisher = MakeLists()
for i in range(0, len(Article_link)):
if Article.object.filter(link=Article_link[i]).exists()==False:
a = Article(link=Article_link[i], date=Article_date[i], vote=Article_vote[i],
title=Article_title[i], publisher = Article_publisher[i])
a.save()
问题在于它似乎没有做任何事情......没有任何内容写入数据库。我在运行服务器或点击页面时没有弹出错误。
问题: 1.如何检查是否有任何操作?即,弄清楚是否正在创建变量等? 2.我的想法是我在查询,但是如何排除故障呢?
答案 0 :(得分:0)
这是实施此类解决方案的错误地方。最好将代码全部放在一个单独的文件中,然后将其放在一个文件夹结构中:
APP_NAME>管理>命令> file_name.py
通过将其置于此结构中,它可以从manage.py shell
运行,也可以设置为chron作业(更好)。
进行比较
如果Article.objects.filter(link = Article_link [i])。exists()== False:
工作正常。