Bir rss beslemesinden içerik oluşturmak için feed ayrıştırıcısı kullanıyorum. Böyle Onun şey: Yukarıdaki kod çalışmıyor ya değilse ben bunu test edemez olarakNeden rss feed'inden bir tarih alıp Django modelime ayarlayamıyorum?
import feedparser
def parse_rss(rss_url):
return feedparser.parse(rss_url)
def generate_content_from_feed(feed):
parsed_feed = parse_rss(feed.rss_url)
for item in parsed_feed['items']:
if not Content.objects.filter(link=item['link']).exists():
content = Content.objects.create(
title=item['title'],
link=item['link'],
description=item['description'],
pub_date=item['published'],
category=item['category'],
feed=feed,
)
if item['enclosure']:
content.media_url = item['enclosure']['url']
content.media_type = item['enclosure']['type']
content.save()
Şimdi, tamamen emin değilim. Benim models.py yılında
, bu iki model var:
bir yem, O yemi içerik oluşturulur ve İçerik nesneler olarak kaydedilir kaydedilir merak vardır durumunda,class Feed(models.Model):
rss_url = models.URLField()
def save(self, *args, **kwargs):
super(Feed, self).save(*args, **kwargs)
generate_content_from_feed(self) # Generating the content
class Content(models.Model):
title = models.CharField(max_length=500)
link = models.URLField()
description = models.TextField()
pub_date = models.DateTimeField(default=None)
category = models.CharField(max_length=500, blank=True)
media_url = models.URLField(blank=True) # Attached media file url
media_type = models.CharField(max_length=50, blank=True)
feed = models.ForeignKey(Feed, related_name='content_feed')
benim veritabanım. Atleast, yapmaya çalıştığım şey.
ValidationError at /admin/myapp/feed/add/
[u"'Fri, 08 Apr 2016 14:51:02 +0000' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."]
Bu sorunu nasıl düzeltebilirim: Bir feed kaydederken Ancak, böyle bir hata söyleyerek şey verir? Ve ayrıca, uzman değilim, benim generate_content_from_feed yöntemimin sorunları olup olmadığını kimse anlatabilir mi? Çok teşekkürler.
tarih numarasına
Apr
dönüştürmeye çalışırken, neden test edemiyoruz? Kodunuzda hata ayıklamanızı ve kaydetmeden önce değişkenlerinizin içeriğini tam olarak görmenizi tavsiye ederim. – Wtower