我正在尝试创建一个界面,用户可以在其中编辑“用户样式”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并将其添加到网站样式表中。我想这样的事情最好在前端处理。
是否可以为样式制作“预览”视图?
答案 0 :(得分:1)
QtWebKit(Qt的一部分,提供Python绑定 - 搜索PySide或PyQt)有一个功能齐全的Web显示引擎,支持样式表。您可以在python应用程序中显示网页,并动态更改其样式表以响应用户输入。