账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Django2.0如何打印数据结构,类似PHP的print_r()
    48
    0

    比如我在视图文件中定义了一个方法。

    views.py
    
    from django.shortcuts import render
    from django.http import HttpResponse
    
    from . import models
    
    def index(request):
    
        datas = models.Test.objects.get(id=1)
        
        print(datas)  #这样打印出来,页面就报错了。
        return render(request,'polls/index.html',{'data':datas})

    请问用Django怎么打印返回的数据结构到页面上。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 在Django2.0中,你可以使用debuggerunittest.mock库来打印数据结构。以下是两种方法的示例:

      方法一:使用debugger

      首先,确保你的项目已经安装了debugger库。如果没有,你可以使用以下命令安装:

      bash pip install debugger

      然后,你可以使用以下代码打印数据结构:

      ```python from django.core.debugger import Debugger

      def some_view(request): debugger.start_trace('myapp.some_view')

      # 这里是你的数据结构代码
      data = {
          'field1': 'value1',
          'field2': 'value2',
          'field3': 'value3',
      }
      
      # 这里是打印数据结构的代码
      debugger.stop_trace()
      
      return response
      

      ```

      方法二:使用unittest.mock

      如果你正在使用unittest.mock库,你可以创建一个unittest.mock对象,并在其中定义你的数据结构:

      ```python import unittest import mock

      class TestMyView(unittest.TestCase): def setUp(self): self.db = Debugger(debugger=True)

      def test_something(self):
          # 这里是你的数据结构代码
          data = {
              'field1': 'value1',
              'field2': 'value2',
              'field3': 'value3',
          }
      
          self.db.start_trace('myapp.some_view')
      
          # 这里是打印数据结构的代码
          with mock.patch.object(self.db, 'get_data') as get_data_mock:
              get_data_mock.return_value = data
      
          self.db.stop_trace()
      
          self.db.get_data.assert_called_once_with()
      
      def tearDown(self):
          self.db.stop_trace()
      

      if name == 'main': unittest.main() ```

      在这个例子中,我们首先创建了一个Debugger对象,并指定了debugger=True。然后,我们在setUp方法中启动调试器,并在tearDown方法中停止调试器。我们还定义了一个get_data方法,该方法模拟了数据库获取数据的行为。最后,我们在test_something方法中测试了这个方法。

    • 一个人的旅行 普通会员 2楼

      在Django2.0中,你可以使用debuggerunittest.mock库来打印数据结构。以下是两种方法的示例:

      方法一:使用debugger

      首先,确保你的项目已经安装了debugger库。如果没有,你可以使用以下命令安装:

      bash pip install debugger

      然后,你可以使用以下代码打印数据结构:

      ```python from django.core.debugger import Debugger

      def some_view(request): debugger.start_trace('myapp.some_view')

      # 这里是你的数据结构代码
      data = {
          'field1': 'value1',
          'field2': 'value2',
          'field3': 'value3',
      }
      
      # 这里是打印数据结构的代码
      debugger.stop_trace()
      
      return response
      

      ```

      方法二:使用unittest.mock

      如果你正在使用unittest.mock库,你可以创建一个unittest.mock对象,并在其中定义你的数据结构:

      ```python import unittest import mock

      class TestMyView(unittest.TestCase): def setUp(self): self.db = Debugger(debugger=True)

      def test_something(self):
          # 这里是你的数据结构代码
          data = {
              'field1': 'value1',
              'field2': 'value2',
              'field3': 'value3',
          }
      
          self.db.start_trace('myapp.some_view')
      
          # 这里是打印数据结构的代码
          with mock.patch.object(self.db, 'get_data') as get_data_mock:
              get_data_mock.return_value = data
      
          self.db.stop_trace()
      
          self.db.get_data.assert_called_once_with()
      
      def tearDown(self):
          self.db.stop_trace()
      

      if name == 'main': unittest.main() ```

      在这个例子中,我们首先创建了一个Debugger对象,并指定了debugger=True。然后,我们在setUp方法中启动调试器,并在tearDown方法中停止调试器。我们还定义了一个get_data方法,该方法模拟了数据库获取数据的行为。最后,我们在test_something方法中测试了这个方法。

    • 轻轻易 普通会员 3楼

      在Django2.0中,你可以使用debuggerunittest.mock库来打印数据结构。以下是两种方法的示例:

      方法一:使用debugger

      首先,确保你的项目已经安装了debugger库。如果没有,你可以使用以下命令安装:

      bash pip install debugger

      然后,你可以使用以下代码打印数据结构:

      ```python from django.core.debugger import Debugger

      def some_view(request): debugger.start_trace('myapp.some_view')

      # 这里是你的数据结构代码
      data = {
          'field1': 'value1',
          'field2': 'value2',
          'field3': 'value3',
      }
      
      # 这里是打印数据结构的代码
      debugger.stop_trace()
      
      return response
      

      ```

      方法二:使用unittest.mock

      如果你正在使用unittest.mock库,你可以创建一个unittest.mock对象,并在其中定义你的数据结构:

      ```python import unittest import mock

      class TestMyView(unittest.TestCase): def setUp(self): self.db = Debugger(debugger=True)

      def test_something(self):
          # 这里是你的数据结构代码
          data = {
              'field1': 'value1',
              'field2': 'value2',
              'field3': 'value3',
          }
      
          self.db.start_trace('myapp.some_view')
      
          # 这里是打印数据结构的代码
          with mock.patch.object(self.db, 'get_data') as get_data_mock:
              get_data_mock.return_value = data
      
          self.db.stop_trace()
      
          self.db.get_data.assert_called_once_with()
      
      def tearDown(self):
          self.db.stop_trace()
      

      if name == 'main': unittest.main() ```

      在这个例子中,我们首先创建了一个Debugger对象,并指定了debugger=True。然后,我们在setUp方法中启动调试器,并在tearDown方法中停止调试器。我们还定义了一个get_data方法,该方法模拟了数据库获取数据的行为。最后,我们在test_something方法中测试了这个方法。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部