2013-01-15 84 views
0

我有一個頁面「A」,一些CharField以編程方式填充。要填寫的值來自另一個頁面「B」,只有在顯示頁面(在init之後)時才執行的javascript代碼打開。情況是這樣的:初始化後更改CharField值

  1. 頁面初始化期間__init__
  2. ,啓動一個線程監聽的端口8080
  3. 網頁A初始化並顯示對 - >在模板中的JavaScript執行
  4. 的JavaScript代碼來打開一個新的網頁,將數據發送到8080
  5. 線程讀取由網頁B發送數據,並試圖填補CharFields

有沒有辦法做到這一點?我不知道...刷新方法..

如果這是不可能......

  • 我需要的方式 形式的init之前調用javascript函數 或
  • 一種修改所創建頁面的HTML代碼的方法
+0

您應該可以通過使用動態HTML來實現這一點,換句話說,確定您要修改的字段,例如通過它的名字,在頁面A的HTML DOM中設置它的值,不是? –

+0

你的意思是...而不是從python聽8080,從javascript聽? – DeLac

+0

基本上,是的。由於DJango對關係數據模型提供了很好的支持,在這些模型中可以自動選擇/輸入相關數據,我默默地認爲這必須是一些便利功能。然後,我將它限制在AJAX上,然後單獨離開Django。如果情況並非如此,那麼甚至可能會有完全不同的Django方式來實現你想要的。也許你爲此設置了另一個更概念化的問題。 –

回答

0

這似乎過於複雜。除了別的之外,綁定等待某人填寫表單的整個流程是一個不好的主意。

雖然我不能真正理解你想要做什麼,但似乎有更好的解決方案。這裏有幾種可能性:

  • 頁面A在初始化表單前重定向到頁面B,並在提交時重定向到A;
  • 頁面A加載彈出框然後通過Ajax加載表單;
  • 頁面B通過客戶端Javascript動態填充A中的表單字段;

等等。

+0

它用於驗證。頁面B是IdP(所以我不能改變它),它返回用戶屬性。我希望這些屬性能夠寫回CharFields中 – DeLac