【发布时间】:2015-09-15 06:06:09
【问题描述】:
我们在 django 模板中查找另一个域的图像 url 时遇到了一些问题..
我们使用 django markdown,我的 models.py 像这样..
class Entry(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
author = models.CharField(max_length=150, null=True, blank=True)
slug = models.SlugField(max_length=200, unique=True)
keywords = models.CharField(max_length=200, null=True, blank=True)
publish = models.BooleanField(default=True)
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
tags = models.ManyToManyField(Tag)
objects = EntryQuerySet.as_manager()
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse("entry_detail", kwargs={"slug": self.slug})
class Meta:
verbose_name = "Blog Entry"
verbose_name_plural = "Blog Entries"
ordering = ["-created"]
我想,我可以从{{ object.body.imgUrl }} 找到图片网址。但我知道我们不反对获得.imgUrl。
所以我的问题是,如何从object.body 找到图像 url,但如果我们使用来自另一个域的工作。
我们一直在寻找找到它的方法,但直到现在仍未找到.. 之前非常感谢..
编辑:
我在views.py中尝试使用这样的beautifulshoup@
from bs4 import BeautifulSoup
@property
def _getUrl_Image(url_post):
soup = BeautifulSoup(url_post)
result = []
for post in soup.select('div.post'):
all_links = soup.findAll('img', src=True)
first = all_links[0]
string = str(first)
split = string.split('"')
result.append(split[3])
return result[0]({'result' : result})
在模板中。
{% for i in result %}
{{ result }}
{% endfor %}
如何在模板中返回{{ result }},值为url_post
{% for i in result %}
{{ result {% url "entry_detail" slug=object.slug %} }}
{% endfor %}
我知道会出错.. :(
编辑 2:
from bs4 import BeautifulSoup
from django import template
register = template.Library()
@register.filter
def getUrlImage(url_post):
soup = BeautifulSoup(url_post)
result = []
for post in soup.select('div.post'):
all_links = soup.findAll('img', src=True)
first = all_links[0]
string = str(first)
split = string.split('"')
result.append(split[3])
print result[0]
return result[0]({'result' : result})
在模板中:
{% load getUrlImage %}
{% for i in result %}
{% url "entry_detail" slug=object.slug as result_url %}
{{ result }}{{ result_url }}
{% endfor %}
我们有一些错误Ups.. Error 500!
服务器无法加载我的功能还是为什么?
【问题讨论】:
-
你没有解释,imgUrl 是什么意思。如果这是 Entry.body 文本中的链接,您可以使用 BeautifulSoap 找到您的 url
-
好的,谢谢先生..也许我可以这样解决..stackoverflow.com/a/10127421/3445802
-
先生,我再次遇到问题要添加我的函数以在模板中调用的字段..
标签: python django markdown meta