我试图在保存post对象时使用django taggit添加一些标记。所以我试过了
def panties():
from lxml import html
pan_url = 'http://www.ideos.org'
shtml = requests.get(pan_url, headers=headers)
soup = BeautifulSoup(shtml.text, 'html5lib')
video_row = soup.find_all('div', {'class': 'video'})
name = 'pan videos'
author = User.objects.get(id=1)
tags = Post.tags.add("Musica", "video") <------here
def youtube_link(url):
youtube_page = requests.get(url, headers=headers)
soupdata = BeautifulSoup(youtube_page.text, 'html5lib')
video_row = soupdata.find_all('script', {'type': 'text/javascript'})
entries = [{'text': str(div),
} for div in video_row]
tubby = str(entries[4])
urls = re.findall('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', tubby)
return urls
def embed(url):
new_embed = url.replace("watch?v=", "embed/")
return new_embed
entries = [{'href': div.a.get('href'),
'src': youtube_link(div.a.get('href'))[1],
'text': div.h4.text,
'comments': div.h4.text,
'name': name,
'url': div.a.get('href'),
'embed': embed(youtube_link(div.a.get('href'))[0]),
'author': author,
'video': True,
'tag': tags <------here
} for div in video_row][:13]
但这给了我一个错误的信息
^{pr2}$所以我试了这个
^{3}$它给了我这个错误信息
Post对象需要有一个主键值,然后才能访问它们的标记。我该怎么做?我所做的可能吗?任何帮助都将不胜感激。在
您正在尝试向邮件管理器添加标记。 您需要将标记添加到Post实例。在
在添加标记之前,您需要一个已保存的Post实例
例如
post_instance = Post.objects.get_or_create(foo=bar) tags = post_instance.tags.add("Musica", "video")
有了“卢克欧斯回答”的助手,我想出来了。这正是我的代码看起来像现在的其他人谁可能想看看如何真正做到这一点。它是从这里来的。在
为了这个
^{pr2}$希望这对某人有帮助
相关问题 更多 >
编程相关推荐