中Flask Admin中的列格式化程序

2024-04-26 13:16:48 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我已经创建了一个烧瓶管理界面。在其中一个字段(列)中,我想包括一个超链接。在

class workout(db.Model):
    equipment = db.Column(db.String(100))
    place = db.Column(db.String(100))
    image = db.Column(db.Text)

或者在模板中使用Jinja2宏:

我必须创建一个视图,其中应包括上述列,以及我必须格式化该视图中的图像列。在

我真的不太确定如何为上述自定义类模型创建视图。在

^{pr2}$

在_宏.html文件。在

{% macro render_image() %}
<a href="#" id="upload_widget_opener">Upload images</a>
<script src="https://widget.cloudinary.com/global/all.js" type="text/javascript"></script>  

<script type="text/javascript">  
  document.getElementById("upload_widget_opener").addEventListener("click", function() {
    cloudinary.openUploadWidget({ cloud_name: 'mycloudname', sources: [ 'local', 'url', 'camera', 'image_search', 
                 'facebook', 'dropbox', 'google_photos' ], upload_preset: 'myuploadpreset'}, 
      function(error, result) { console.log(error, result) });
  }, false);
</script>

{% endmacro %}

如果我运行_宏.html文件,它是好的,我得到超链接如预期。 问题:当我试图从中导入宏时,我没有在列中获取已格式化的超链接_宏.html文件

我在中的语法有问题吗_宏.html或者在应用程序副本文件?在


Tags: 文件textimage视图dbstringhtmltype
1条回答
网友
1楼 · 发布于 2024-04-26 13:16:48

我认为你在滥用炼金术和烧瓶管理。CustomModel类继承自数据库模型从SQLAlchemy和CustomModelView类从Flask Admin继承ModelView,以控制Flask Admin中该模型的行为。您可以实现以下目标:

使用form_widget_args向表单域添加id属性

继承create.html&;edit.html以添加javascript。在

class ExampleModelView(ModelView):

    # ...

    edit_template = "admin/edit.html"
    create_template = "admin/create.html"

    form_widget_args = {
        "image": {
            "id": "cloudinary"
        }
    }

    # ...

# template inherit. "edit.html" is same as "create.html" except the first line.

{% extends "admin/model/create.html" %}
{% block tail %}
    {{ super() }}
    <script src="https://widget.cloudinary.com/global/all.js" type="text/javascript"></script>
    <script type="text/javascript">
        # js code to upload image and return response
    </script>
{% endblock %}

相关问题 更多 >