Django debug hiển thị tất cả các biến của một trang


83

Có thẻ mẫu (hoặc bất kỳ thủ thuật nào khác) mà tôi có thể sử dụng để hiển thị tất cả các biến có sẵn trong một trang không?

Câu trả lời:



85

Có một số tùy chọn (một số trong số chúng đã được liệt kê trước đây):

  1. Thẻ gỡ lỗi nội trang django - Tôi sử dụng bảng soạn sẵn này để hiển thị nó đúng cách:

    <pre> {% filter force_escape%} {% debug%} {% endfilter%} </pre>

  2. Sử dụng các thẻ của ứng dụng gỡ lỗi mẫu django như thuộc tính, biến và chi tiết hoặc thậm chí bạn có thể đặt một điểm ngắt bên trong mẫu nơi bạn có thể kiểm tra mọi thứ bằng trình gỡ lỗi pdb (hoặc ipdb)

  3. Thanh công cụ gỡ lỗi Django - có một bảng mẫu cho mục đích này

Thông thường tất cả các tính năng gỡ lỗi chỉ hoạt động khi ứng dụng ở chế độ GỠ LỖI .


16

Mẹo chuyên nghiệp. Sử dụng textareavà chọn tự động onclickđể sao chép-dán dễ dàng hơn:

<textarea onclick="this.focus();this.select()" style="width: 100%;"> {% filter force_escape %} {% debug %} {% endfilter %}</textarea>

10

Các thanh công cụ debug làm tất cả điều này và nhiều, nhiều hơn nữa. Xem video màn hình để biết thêm. Nếu bạn thực sự chỉ muốn các biến, bạn có thể thử

assert False, locals()

trong tầm nhìn của bạn


Ngón tay cái. Vì tôi đang sử dụng chế độ xem chung chung, có cách nào để triệu tập "khẳng định Sai, người dân địa phương ()"
eaman

các bạn, tôi đã cài đặt và làm việc thanh công cụ gỡ lỗi nhưng nó không hiển thị tất cả các biến có sẵn cho tôi trong mẫu ... tôi có thiếu thứ gì không .. điều này khẳng định sai, local () đi đâu và nó làm chính xác ?
Derek Organ

Nếu bạn đã viết một dạng xem tùy chỉnh, chỉ cần đặt nó gần cuối dạng xem của bạn. Nếu bạn đang sử dụng chế độ xem chung, bạn cần phải bao bọc nó trong chế độ xem của riêng bạn. Tôi nghĩ điều đó sẽ hiệu quả.
Tom

8

Một giải pháp phức tạp hơn một chút với phần thưởng tốt hơn là tải django-debug-toolbar (tài liệu tại đây )

Có một tùy chọn được gọi là 'Mẫu' với một tùy chọn khác để 'Chuyển đổi ngữ cảnh' và bạn có thể xem tất cả các biến được chuyển đến mẫu của mình, cũng như khả năng xem mã đằng sau mẫu.

Ví dụ về gỡ lỗi mẫu django-debug-toolbar


Tôi đang nhận được '<<triggers database query>>'như giá trị
stephen

Tôi sẽ đọc tài liệu và nếu thất bại, tôi sẽ đi đến dự án django-debug-thanh công cụ và yêu cầu giúp đỡ: github.com/jazzband/django-debug-toolbar
Aaron C. de Bruyn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.