我是新来姜戈的。我想对Hue ( Hadoop UI)进行一些编辑,但不知道要更改什么。我想将默认页面设置为文件浏览器,这样当用户登录时,他们将转到的第一个页面是文件浏览器。我知道?next=提供了重定向功能,但这在我的VIP后面不起作用(当我将VIP指向下一个URL时,它会重定向,但随后会解析到真实的IP地址,而不是虚拟地址,这不是我想要的)。我想硬连接更改,以便默认的URL始终是文件浏览器,我该怎么做呢?
我当前的策略是在/ urls.py /urls.py/src/desktop中编辑核心,并添加以下行:
dynamic_patterns += patterns('filebrowser.views',
url(r'^$', 'index', name='index'),
)然而,我一直收到这个错误:
Traceback:
File "/opt/mapr/hue/hue-3.6.0/build/env/lib/python2.6/site-packages/Django-1.4.5-py2.6.egg/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/opt/mapr/hue/hue-3.6.0/apps/filebrowser/src/filebrowser/views.py" in index
99. return view(request, path)
File "/opt/mapr/hue/hue-3.6.0/apps/filebrowser/src/filebrowser/views.py" in view
161. return listdir_paged(request, path)
File "/opt/mapr/hue/hue-3.6.0/apps/filebrowser/src/filebrowser/views.py" in listdir_paged
435. return render('listdir.mako', request, data)
File "/opt/mapr/hue/hue-3.6.0/desktop/core/src/desktop/lib/django_util.py" in render
222. **kwargs)
File "/opt/mapr/hue/hue-3.6.0/desktop/core/src/desktop/lib/django_util.py" in _render_to_response
144. return django_mako.render_to_response(template, *args, **kwargs)
File "/opt/mapr/hue/hue-3.6.0/desktop/core/src/desktop/lib/django_mako.py" in render_to_response
117. return HttpResponse(render_to_string(template_name, data_dictionary), **kwargs)
File "/opt/mapr/hue/hue-3.6.0/desktop/core/src/desktop/lib/django_mako.py" in render_to_string_normal
106. result = template.render(**data_dict)
File "/opt/mapr/hue/hue-3.6.0/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/template.py" in render
443. return runtime._render(self, self.callable_, args, data)
File "/opt/mapr/hue/hue-3.6.0/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py" in _render
786. **_kwargs_for_callable(callable_, data))
File "/opt/mapr/hue/hue-3.6.0/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py" in _render_context
818. _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
File "/opt/mapr/hue/hue-3.6.0/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py" in _exec_template
844. callable_(context, *args, **kwargs)
File "/tmp/tmp13I5gT/filebrowser/listdir.mako.py" in render_body
73. __M_writer(escape(unicode( fb_components.menubar() )))
File "/tmp/tmp13I5gT/filebrowser/fb_components.mako.py" in render_menubar
260. __M_writer(escape(unicode(app_name)))
File "/opt/mapr/hue/hue-3.6.0/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py" in __str__
205. raise NameError("Undefined")
Exception Type: NameError at /
Exception Value: Undefined发布于 2015-06-06 08:01:21
我现在对Django有了更多的了解,并且能够满足我的需求。要更改用户登录后显示的页面,请编辑以下文件:
/desktop/core/src/core/views.py
在这里我们需要编辑索引函数--这是之前和之后的结果:
Old: def index(request):if request.user.is_superuser和request.COOKIES.get('hueLandingPage') != 'home':返回重定向(reverse(‘about:index’)) else:返回home(request)
New: def index(request):if request.user.is_superuser和request.COOKIES.get('hueLandingPage') != 'home':return redirect('filebrowser.views.index') #return redirect(reverse(‘about:index’) else: return redirect('filebrowser.views.index') #return home(request)
你可以随心所欲地编写它(显然if条件在这里并不重要),但重要的是让这个函数返回redirect('filebrowser.views.index')
注意:我已经在色调3.6和色调3.7中使用了此解决方法
https://stackoverflow.com/questions/29613597
复制相似问题