我们在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
找到图片网址,但是如果我们从其他网域使用,则会有效。
我们一直在寻找找到它的方法,但直到现在还没有找到.. 非常感谢...
修改
我在views.py
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!
是服务器无法加载我的功能或为什么?
答案 0 :(得分:0)
我认为你的问题是遗漏了一些重要的细节,但也许以下内容会对你有所帮助:为你的最后一段代码写一遍(即使我不知道你为什么要使用for循环......):
{% for i in result %}
{% url "entry_detail" slug=object.slug as result_url %}
{{ result }}{{ result_url }}
{% endfor %}