在将CSS作为最终样式提交之前预览CSS

时间:2014-08-22 21:23:43

标签: javascript jquery python python-3.x flask

我正在尝试创建一个界面,用户可以在其中编辑“用户样式”css表并进行预览。如果他们喜欢他们看到的东西,他们就可以承诺。

这是我到目前为止所做的,作为一个非常基本的初步草图:

class EditStylesForm(Form):
    """ a form to edit CSS styles """
    css = TextAreaField()
    submit = SubmitField('Commit Changes')

并在视图中:

@admin.route('/styles', methods=['GET', 'POST'])
def styles():
    """ render a form in which they can render stylesheets """
    try:
        with admin.open_resource('static/scss/user_styles.css') as f:
            form = EditStylesForm(css=f.read())
    except IOError:
        form = EditStylesForm()

    if form.validate_on_submit():
        with open(os.path.join(current_app.root_path, 'static/scss/user_styles.css'), mode="w") as f:
            f.write(form.css.data)
    return render_template('admin/styles.html', form=form)

(是的,我知道这是不安全的,可以改进)。这将写入一个文件,其中包含textarea中显示的css文件。

然而,我最理想的是在提交之前预览css并将其添加到网站样式表中。我想这样的事情最好在前端处理。

是否可以为样式制作“预览”视图?

1 个答案:

答案 0 :(得分:1)

QtWebKit(Qt的一部分,提供Python绑定 - 搜索PySide或PyQt)有一个功能齐全的Web显示引擎,支持样式表。您可以在python应用程序中显示网页,并动态更改其样式表以响应用户输入。