2011-07-12 23 views
4

これはちょっとした質問です。私はWebサイトを作成するためにExtJSとDjangoを使用しています。 IFrameを取得したときにURLにクエリパラメータを追加する方法についてインターネットで検索します。だからbasicily私はExtJSの中にhtmlページを持つパネルを作成するこれを持っています。 URLにポート番号を渡して、htmlを呼び出すときに自動的にvncに接続するポート番号を渡すことができるようにしたい。私のVNCクライアントが最初にnoVNCExtJs to DJango URLクエリパラメータ

var noVNC = Ext.create('Ext.panel.Panel', { 
    title: "noVNC", 
    frame: false, 
    title: false, 
    width: '100%', 
    height: '100%', 
    layout: 'fit', 
    items: [{ 
     xtype: "component", 
      autoEl: { 
       tag: "iframe", 
       src: "/noVNC" 
      } 
    }] 
}); 

である私は、私はちょうどしかし、(研究を通じて)私はあなたが私が思うviews.pyとurls.py を編集する必要が

src: "/noVNC?port=5900" 

実現しないことができると考えました私はurls.pyが

from django.conf.urls.defaults import * 

urlpatterns = patterns('', 
    url(r'^$', 'kfe.views.index'), 
    url(r'^index$', 'kfe.views.index'), 
    url(r'^noVNC/(?P<port>\d+)/$' , 'kfe.views.noVNC'), 
) 

を修正しましたが、私はviews.pyを使用するかどうかはわからない

def noVNC(request): 
    return render(request, 'noVNC_Auto.html', content_type='text/html') 

希望の情報が十分です。そうでない場合はちょうど私がそれを固定方法ので、[OK]を私に

おかげ

+0

+1偉大な質問。私はnoVNCに慣れていないので、なぜvncのURLパターン '' noVNC/5900/"'が必要ですか?あなたのビューショップは 'def noVNC(reques、port):'なのでポート番号は –

+0

です。ゆっくりと私はそれを理解しています。私はview.pyとurls.pyを得たと思います。 –

答えて

2

を教えて(私はviews.pyの私のいずれかの引数を必要としなかった)ので、私の条件のために非常に簡単でした。私がしたので、何
は、私はこの

window.onload = function() { 
     con_port = "?port=" + WebUtil.getQueryVar('con_port', null); 

をした私のIFrameのHTMLページの中にあったとExtJSの内側に私は今、私はちょうどハードポート番号にコード化されたため、この

var noVNC = Ext.create('Ext.panel.Panel', { 
    title: "noVNC", 
    frame: false, 
    title: false, 
    width: '100%', 
    height: '100%', 
    layout: 'fit', 
    items: [{ 
     xtype: "component", 
      autoEl: { 
       tag: "iframe", 
       src: "/noVNC?con_port=5901" 
      } 
    }] 
}); 

をしましたが、あなただけ追加することができますそう

src: "/noVNC?con_port=590" + port 

views.py

のような文字列に使用するポート番号

urls.py

urlpatterns = patterns('', 
    url(r'^$', 'kfe.views.index'), 
    url(r'^index$', 'kfe.views.index'), 
    url(r'^noVNC$' , 'kfe.views.noVNC'), 
+0

ExtJSのポートをハードコーディングしたようですね。 –

+0

あなたはちょうど--- src: "/ noVNC?con_port = 590" + port –

+0

のような文字列にポート番号を追加するだけで問題が解決したら答えに入れて正しいとマークします同じ問題を抱えているかもしれない他の人たち。 –

関連する問題