异常类型:MissingSchema/beauthulsoup

2024-09-28 17:01:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我在探索beauthulsoup en django,它运行得很好,直到我添加了一个变量作为url(来自一个带有URLValidator的模型textfield)

我在model_url之前添加了一个'https://“+,但是这也给出了一个错误。有什么问题吗?我在谷歌上搜索了很多,但都没用。。希望这不是一个双重问题。。提前谢谢!在

这是我的模型.py在

class ScrapeUrl(models.Model):
product_title = models.CharField(max_length=255)
product_ean = models.CharField(max_length=25)
scrape_url = models.TextField(validators=[URLValidator()])
shop_price = models.DecimalField(max_digits=10, decimal_places=2)

def __str__(self):
    return self.product_title

def __unicode__(self):
    return unicode(self.product_title) or u''

这是我的视图.py在

^{pr2}$

这是回溯

^{3}$

Tags: py模型selfurlreturntitlemodelsdef
1条回答
网友
1楼 · 发布于 2024-09-28 17:01:15

问题是您试图检索ScrapeUrl.scrape_url。这不是一个字符串,它是Django模型的一个属性。当您将它传递给requests.get时,它将其转换为字符串表示,类似于

'<django.db.models.query_utils.DeferredAttribute object at 0x10378b050>'

这显然不是一个有效的url,所以这就是为什么会出现异常。您可能需要根据查询参数或url路径从数据库中检索对象。要做到这一点你可以做一些

model_url = ScrapeUrl.objects.get(pk=int(request.query_params['id'])).scrape_url

注意,如果查询参数不存在、不是整数或相应的对象不在数据库中,则此操作可能仍然失败。在

相关问题 更多 >