2017-01-21 16 views
8

Tôi muốn tạo cốt truyện tương tác trong chế độ xem django (hoặc mô hình?). Hãy nói rằng tôi muốn sử dụng selection_histogram example. Tôi nghĩ Bokeh phù hợp với nhu cầu của tôi bởi vì, tôi có matplot/seaborn mà tôi có thể tái sử dụng và tôi không khá tốt ở javascript.Nhúng Bokeh tương tác trong chế độ xem django

Tôi không gặp vấn đề gì khi làm theo ví dụ sau: how to embed standalone bokeh graphs into django templates.

Theo tôi được biết, tôi cần phải chạy một máy chủ bokeh và make some proxy using nginx

Làm thế nào tôi có thể nhúng một âm mưu bokeh tương tác vào một cái nhìn django?

Tôi cố gắng này:

Launch bokeh máy chủ

bokeh serve --allow-websocket-origin=127.0.0.1:8001 selection_histogram.py 

Cập nhật điểm của tôi trong views.py

def simple_chart(request): 

    script = autoload_server(model=None, 
          app_path="/selection_histogram", 
          url="http://localhost:5006/") 


    return render(request, "simple_chart.html", {"the_script": script}) 

Bây giờ, nó là tương tác như mong đợi.

Có cách nào để chuyển một số đối số cho ứng dụng bokeh không?

Mọi trợ giúp sẽ được đánh giá cao. Kính trọng

+0

Chỉ cần làm rõ câu hỏi của bạn, bạn có muốn hiển thị tiện ích con hoặc đầu vào biểu mẫu trong mẫu django của bạn sau đó yêu cầu họ giao tiếp với máy chủ bokeh (ví dụ: thay đổi thang đo hoặc giá trị dữ liệu của ô)? Nếu vậy, điều này tương tự như một vấn đề tôi đang gặp phải, và tôi nghĩ giải pháp nằm trong bokeh.js, nhưng tôi vẫn chưa tìm ra một mô hình tốt cho điều này. –

+1

Xin chào, tôi đã xem hoạt động của bạn trên Gitter. Tôi thành công để hiển thị một widget bokeh với bộ dữ liệu django. Vấn đề của tôi là làm thế nào để làm cho cả hai máy chủ nói chuyện với nhau. –

+0

Bạn có thể giải thích ý của bạn bằng cách tương tác: 1. Các công cụ sẽ hoạt động (thu phóng, xoay, di chuột, v.v.) hoặc 2. Dữ liệu và ô cần cập nhật ngay cả khi không có yêu cầu trang mới – renzop

Trả lời

1

Bạn không cần chạy máy chủ Bokeh để sử dụng Bokeh trong DJANGO. Bạn chỉ có thể nhập Bokeh vào bạn views.py.

Bạn cần tải Bokeh js và css vào mẫu của mình và hiển thị các thành phần được tạo bởi Bokeh. Nó nghĩ rằng this là một ví dụ ngắn gọn.

+1

Cảm ơn câu trả lời của bạn. Ví dụ là như tôi đã đề cập trong câu hỏi của tôi. Ví dụ đơn giản này là "tĩnh". Tôi có thể sử dụng matplolib có khả năng làm điều đó. Tôi sẽ chỉnh sửa câu hỏi của mình để cụ thể hơn. –

+0

Ah OK, sau đó tôi không hiểu loại tương tác nào yêu cầu máy chủ bokeh :) –

Các vấn đề liên quan