【问题标题】:preview CSS before submitting it as a final style在将 CSS 作为最终样式提交之前预览 CSS
【发布时间】:2014-08-22 21:23:42
【问题描述】:

我正在尝试制作一个界面,用户可以在其中编辑他们的“用户样式”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)

(是的,我知道这是不安全的,可以改进)。这将使用文本区域中显示的 css 文件写入一个文件。

但是,我最理想的做法是在提交 CSS 并将其添加到网站样式表之前对其进行预览。我想这样的事情最好在前端处理。

有没有办法为样式制作“预览”视图?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 这可以集成到网络应用程序本身中,还是您建议制作一个单独的 GUI?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多