Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Django中从网页获取html_Python_Django_Django Testing_Django Tests - Fatal编程技术网

Python 如何在Django中从网页获取html

Python 如何在Django中从网页获取html,python,django,django-testing,django-tests,Python,Django,Django Testing,Django Tests,我试图在Django中实现一些测试,我需要用字符串检查网页上的数据,但无法从网页检索数据。那么,如何从网页中获取数据(html) 我的测试 from rest_framework.test import APITestCase class TicketTestCase(APITestCase): def test_user_details_on_ticket_id(self): response = self.client.get(f"/api/ticke

我试图在Django中实现一些测试,我需要用字符串检查网页上的数据,但无法从网页检索数据。那么,如何从网页中获取数据(html)

我的测试

from rest_framework.test import APITestCase

class TicketTestCase(APITestCase):

    def test_user_details_on_ticket_id(self):

        response = self.client.get(f"/api/ticket/1")
        print(response.content) # this returns empty data in bytes

        # I want to check this
        #self.assertEquals(response.data, "helloworld")

你所做的是正确的。您可以使用
response.content
从网页检索数据。问题是url末尾缺少斜杠,因此url应该是

 response = self.client.get(f"/api/ticket/1/")
而不是

 response = self.client.get(f"/api/ticket/1")

为什么不打印出
response.status\u code
并确保它是您期望的。@RedCricket,因为response.status\u code只打印状态代码,我希望实际数据验证“数据(html)”。。。DRF以JSON的形式返回数据,这里的HTML是什么意思?@ArakkalAbu我不知道它以JSON的形式返回数据。您能告诉我如何获取JSON格式的数据吗?我认为
self.assertEquals(response.data“helloworld”)
可以完成这项工作。你试过了吗?