Jax*_*Jax 6 html python web-applications flask twitter-bootstrap
我目前正在创建一个基于Flask,Bootstrap和Flask-Nav扩展的WebApp.我创建了一个动态导航栏,工作得很好:
#custom navbar
def dynamic_navbar():
navbar = Navbar(title='navbar_titel')
navbar.items = [View('FirstPage', 'first_page')]
navbar.items.append(
Subgroup('Dropdown1',
View('Sub1', 'sub1_page'),
View('Sub2', 'sub2_page'),
View('Sub3', 'sub3_page')
)
)
navbar.items.append(View('SecondPage', 'second_page'))
return navbar
#register navbar to app
nav.register_element('top', dynamic_navbar)
Run Code Online (Sandbox Code Playgroud)
我还更改了默认的BootstrapRenderer,因此我可以轻松更改导航栏引导程序模板
#Coustom Navbar Renderer to render after certain bootstrap navbars templates
class CustomRenderer(BootstrapRenderer):
def visit_Navbar(self, node):
nav_tag = super(CustomRenderer, self).visit_Navbar(node)
nav_tag['class'] += 'navbar navbar-inverse'
return nav_tag
#register renderer to app
register_renderer(app, 'custom', CustomRenderer)
Run Code Online (Sandbox Code Playgroud)
所有这一切都运行正常,我可以轻松地将它集成到我的主模板中作为一个块:
{% extends "bootstrap/base.html" %}
{% block navbar %}
{{nav.top.render(renderer='custom')}}
{% endblock %}
{% block content %}{% endblock %}
Run Code Online (Sandbox Code Playgroud)
所以这是最后的问题.我想将导航栏内部的一些元素(而不是所有元素)向右对齐(例如:仅查看(Sub3 ...).我知道如何直接在HTML文档中执行此操作,但不知何故有难以思考在我的Flask应用程序中执行此操作的简单方法,而不会丢失我的动态导航栏构造或创建许多新类.
有没有更简单的方法可以更改我的渲染器或创建View元素的子类来执行此操作?
| 归档时间: |
|
| 查看次数: |
1860 次 |
| 最近记录: |