django-thvapp 1.1.4

Creator: codyrutscher

Last updated:

Add to Cart

Description:

djangothvapp 1.1.4

thvapp is a remote visual application plugin to th system on novnc
thvapp used in iframe in django template
detail documentation is in the “docs” directory
Quick start


pip install django-thvapp
Add “thvapp” to your INSTALLED_APPS setting like this:
INSTALL_APPS = [
...
'thvapp',
]

Include the thvapp URLconf in your project urls.py like this:
from thvapp import urls as thVAppsUrls
urlpatterns = [...] + thVAppsUrls.urlpatterns,


Set IFrame Option in settings.py like this:
X_FRAME_OPTIONS = ‘ALLOWALL’



Add the thvapp in your html tempalte by iframe like this:


1)、add path in project urls like this:
path(‘vapps/’, main.vApps),

2)、in main views.py:
@login_required
def vApps(request):

return render(request,’vapps.html’,{})


3)、write the xterm.html tempalte file like:

<div class=”page-row”><iframe id=”webthvisual” src=”/thva/apps#/applist” frameborder=”0” width=”100%” style=”min-height: 82vh” scrolling=”yes”></iframe>
</div>






Setup thuri appid and appid in settings.py like this;

THTERMCONF = {
‘server’:’{ visual<shell> backend server }’,
‘appid’:’{appid}’,
‘appkey’:’{appkey}’


}
TH_VISUALAPP_CONFIG = {


‘VAPP_BACKEND_HOST’:’{ visualbackend server }’,

‘VAPP_BACKEND_APPID’:’{ appid }’,
‘VAPP_BACKEND_APPKEY’:’{appkey}’,
‘VAPP_DEFAULT_IMGAGE_URL’:’/media/visual.png’, # default image url in front page
‘FOOTER_HEIGHT’:70, # your iframe’s parent page’s footer height
‘SCREEN_RATIO’:16 / 9, # if you want to set the remote screen ratio
‘VAPP_ICONS’:{

‘{thcluster1}’:{“app1”: {“video”: “app1 image url”}, “app2”: {“video”: “{app2 video url}”}, …}

} # vapp icons (image or video) you can get th visual applications from THVisual client SDK then config your own icons in settings or database


}





Add th user 、cluster and visual applications’ icons to session when user login like this:
request.session[“systemUsername”] = “{thsystem user name}”
request.session[“cluster] = “{thcluster1}”
request.session[“vapp_icons”] = json.dumps(settings.TH_VISUALAPP_CONFIG.get(‘VAPP_ICONS’))




Use nginx proxy the porject port like this:

server {
listen 80;
server_name _;

port_in_redirect off;


location /visual/ {
proxy_pass { visualbackend server }
proxy_http_version 1.1;
proxy_read_timeout 600s;
proxy_redirect off;
proxy_set_header Upgrade httpupgrade;proxysetheaderConnection“upgrade”;proxysetheaderHosthost:serverport;proxysetheaderX−Real−IPremote_addr;
proxy_set_header REMOTE-HOST remoteaddr;proxysetheaderX−Forwarded−Forproxy_add_x_forwarded_for;


}

location / {
proxy_set_header Host host;proxysetheaderX−real−ipremote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass { django server:port };


}





Start the development server and visit http://yourhost:80/vapps/ you will see the web term

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.