rusteer
V2EX  ›  问与答

刚来新公司,他们居然说这个很简单?

  •  
  •   rusteer · Oct 13, 2022 · 7501 views
    This topic created in 1493 days ago, the information mentioned may be changed or developed.

    某人要求用 python 实现动态生成一个包含 table 的 html ,他给的字典也是不固定的,table 还需要能够根据他的内容动态更改 table 的 style 样式 他说用 python 简单 replace 就可以了......

    30 replies  •  2022-10-18 17:24:21 +08:00
    kop1989smurf
    kop1989smurf
    Oct 13, 2022
    1
    不懂 python 。

    手撕一个富文本字符串?
    从楼主的描述上看,确实没什么技术难度,只是随着 table 的复杂程度导致的工作量问题。

    楼主不妨说说具体的技术问题。
    MuscleOf2016
    MuscleOf2016
    Oct 13, 2022
    2
    换个说法,说不是很难,是不是好点。
    rationa1cuzz
    rationa1cuzz
    Oct 13, 2022
    3
    根据动态字典渲染 html 咯,jinja2 了解一下
    DonaidTrump
    DonaidTrump
    Oct 13, 2022
    4
    确实挺简单的
    helone
    helone
    Oct 13, 2022
    5
    。。。也有可能你描述的比实际的简单,但是你描述的确实不复杂,最起码对我来说我都懒得去跟产品掰扯,直接去做
    westoy
    westoy
    Oct 13, 2022
    6
    我怎么感觉就是一个模板的活儿啊
    aneureka
    aneureka
    Oct 13, 2022 via iPhone
    7
    定好模板,用 jinja2 动态渲染就行吧
    sutra
    sutra
    Oct 13, 2022
    8
    确实不是很难。
    selfi
    selfi
    Oct 13, 2022
    9
    。。。
    smilenceX
    smilenceX
    Oct 13, 2022
    10
    如果他说了用 python replace 就可以,那是不是可以表示,这个人是懂一些代码的
    不妨再多沟通一下,是不是你把需求想得复杂了
    rusteer
    rusteer
    OP
    Oct 13, 2022
    11
    @kop1989smurf 我不会 python ,没咋学过
    rusteer
    rusteer
    OP
    Oct 13, 2022
    12
    我看了下 jinjia2 可以搞定我想要的,其实就是动态生成一个 html 然后发邮件
    aceseo
    aceseo
    Oct 13, 2022
    13
    真相了,不会 Python , 从零学起肯定难呀
    fgwmlhdkkkw
    fgwmlhdkkkw
    Oct 13, 2022
    14
    什么语言都有模板引擎啊,他说 Python 就必须 Python 吗?
    ingnoscemihi
    ingnoscemihi
    Oct 13, 2022
    15
    不是挺简单的嘛。。。。
    leavic
    leavic
    Oct 13, 2022
    16
    我感觉是不太难啊
    jaredyam
    jaredyam
    Oct 13, 2022
    17
    看起来确实就是写一个 HTML 模板和几行 Python 的事。
    v2eb
    v2eb
    Oct 13, 2022 via Android❤️1
    18
    我记得刚来公司那会接的第一个需求, 是要求做个照片墙的功能。没有设计稿, 照片数量和大小都未知🙈。幸亏项目黄了
    Tink
    Tink
    Oct 13, 2022 via Android
    19
    只能说很麻烦
    plodderales0o
    plodderales0o
    Oct 14, 2022
    20
    模版引擎都不需要,直接动态生成 table 标签,html 其他部分写死即可。
    rusteer
    rusteer
    OP
    Oct 14, 2022
    21
    @plodderales0o 还需要根据数据进行列的合并与拆分,同时改变 style 样式怎么做?
    rusteer
    rusteer
    OP
    Oct 14, 2022
    22
    @jaredyam 麻烦的是行列不固定,还有进行合并与拆分
    rusteer
    rusteer
    OP
    Oct 14, 2022
    23
    @fgwmlhdkkkw 网络受限,很多东西都没有,python 都是我需要手动下载 whl ,内网拦了的 私有库又没有
    maxbon
    maxbon
    Oct 14, 2022
    24
    我一运维都觉得确实挺简单的
    s0ok
    s0ok
    Oct 14, 2022
    25
    确实不难啊,先考虑考虑是不是自己太菜了
    idblife
    idblife
    Oct 14, 2022 via iPhone
    26
    非常简单啊
    三五分钟的活
    danbai
    danbai
    PRO
    Oct 14, 2022
    27
    第一个需求,word 转 pdf
    rusteer
    rusteer
    OP
    Oct 14, 2022
    28
    @s0ok 经过 V 友们的提醒(吐槽,我知道怎么搞了) 我被你的头像吸引了
    Pony69
    Pony69
    Oct 14, 2022
    29
    说得挺简单
    rusteer
    rusteer
    OP
    Oct 18, 2022
    30
    尝试了下 因为 key 与 value 都是不固定的,嵌套层级过多了以后 jinja 无法通过循环进行 items()解析,同时因为 json 是 dict 没办法通过下标访问,同时还需要进行行与列的动态合并,先准备用个 jinja 做一个静态的模板。下面是一个比较完整的 jinja template 感觉像个屎山
    ```
    {% extends "base.html" %}
    {% block content %}
    {% for key,value in datas['stage'].items() %}
    <tr height="50">
    <td >{{ key}}</td>
    {% for k,v in value.items() %}
    <td>{{k}}</td>
    {% if k|capitalize|safe =='Report'%}
    <td><a href="{{v}}">FilePath</a></td>
    {% elif k|capitalize|safe !='Detail' %}
    <td colspan="6">{{v}}</td>
    {% elif k|capitalize|safe =='Detail' and v!='none' %}
    {% for v1 in v %}
    <td>
    {{v1}}
    </td>
    {% endfor %}
    {% endif %}
    {% endfor %}
    </tr>
    {% endfor %}
    {% endblock %}
    ```
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1714 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 15:59 · PVG 23:59 · LAX 07:59 · JFK 10:59
    ♥ Do have faith in what you're doing.