刚来新公司,他们居然说这个很简单? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rusteer
V2EX    问与答

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

  •  
  •   rusteer 2022-10-13 13:14:42 +08:00 6423 次点击
    这是一个创建于 1099 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    30 条回复    2022-10-18 17:24:21 +08:00
    kop1989smurf
        1
    kop1989smurf  
       2022-10-13 13:19:20 +08:00
    不懂 python 。

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

    楼主不妨说说具体的技术问题。
    MuscleOf2016
        2
    MuscleOf2016  
       2022-10-13 13:20:13 +08:00
    换个说法,说不是很难,是不是好点。
    rationa1cuzz
        3
    rationa1cuzz  
       2022-10-13 13:20:17 +08:00
    根据动态字典渲染 html 咯,jinja2 了解一下
    DonaidTrump
        4
    DonaidTrump  
       2022-10-13 13:20:54 +08:00
    确实挺简单的
    helone
        5
    helone  
       2022-10-13 13:22:22 +08:00
    。。。也有可能你描述的比实际的简单,但是你描述的确实不复杂,最起码对我来说我都懒得去跟产品掰扯,直接去做
    westoy
        6
    westoy  
       2022-10-13 13:27:26 +08:00
    我怎么感觉就是一个模板的活儿啊
    aneureka
        7
    aneureka      2022-10-13 13:28:04 +08:00 via iPhone
    定好模板,用 jinja2 动态渲染就行吧
    sutra
        8
    sutra  
       2022-10-13 13:28:16 +08:00
    确实不是很难。
    selfi
        9
    selfi  
       2022-10-13 13:28:41 +08:00
    。。。
    smilenceX
        10
    smilenceX  
       2022-10-13 13:31:13 +08:00
    如果他说了用 python replace 就可以,那是不是可以表示,这个人是懂一些代码的
    不妨再多沟通一下,是不是你把需求想得复杂了
    rusteer
        11
    rusteer  
    OP
       2022-10-13 13:32:01 +08:00
    @kop1989smurf 我不会 python ,没咋学过
    rusteer
        12
    rusteer  
    OP
       2022-10-13 13:33:20 +08:00
    我看了下 jinjia2 可以搞定我想要的,其实就是动态生成一个 html 然后发邮件
    aceseo
        13
    aceseo  
       2022-10-13 15:31:52 +08:00
    真相了,不会 Python , 从零学起肯定难呀
    fgwmlhdkkkw
        14
    fgwmlhdkkkw  
       2022-10-13 15:44:50 +08:00
    什么语言都有模板引擎啊,他说 Python 就必须 Python 吗?
    ingnoscemihi
        15
    ingnoscemihi  
       2022-10-13 17:18:13 +08:00
    不是挺简单的嘛。。。。
    leavic
        16
    leavic  
       2022-10-13 18:25:30 +08:00
    我感觉是不太难啊
    jaredyam
        17
    jaredyam  
       2022-10-13 22:01:56 +08:00
    看起来确实就是写一个 HTML 模板和几行 Python 的事。
    v2eb
        18
    v2eb  
       2022-10-13 22:21:39 +08:00 via Android   1
    我记得刚来公司那会接的第一个需求, 是要求做个照片墙的功能。没有设计稿, 照片数量和大小都未知。幸亏项目黄了
    Tink
        19
    Tink  
    PRO
       2022-10-13 22:27:47 +08:00 via Android
    只能说很麻烦
    plodderales0o
        20
    plodderales0o  
       2022-10-14 00:03:48 +08:00
    模版引擎都不需要,直接动态生成 table 标签,html 其他部分写死即可。
    rusteer
        21
    rusteer  
    OP
       2022-10-14 09:01:33 +08:00
    @plodderales0o 还需要根据数据进行列的合并与拆分,同时改变 style 样式怎么做?
    rusteer
        22
    rusteer  
    OP
       2022-10-14 09:02:31 +08:00
    @jaredyam 麻烦的是行列不固定,还有进行合并与拆分
    rusteer
        23
    rusteer  
    OP
       2022-10-14 09:03:53 +08:00
    @fgwmlhdkkkw 网络受限,很多东西都没有,python 都是我需要手动下载 whl ,内网拦了的 私有库又没有
    maxbon
        24
    maxbon  
       2022-10-14 09:23:49 +08:00
    我一运维都觉得确实挺简单的
    s0ok
        25
    s0ok  
       2022-10-14 09:31:49 +08:00
    确实不难啊,先考虑考虑是不是自己太菜了
    idblife
        26
    idblife  
       2022-10-14 09:42:25 +08:00 via iPhone
    非常简单啊
    三五分钟的活
    danbai
        27
    danbai  
    PRO
       2022-10-14 10:08:23 +08:00
    第一个需求,word 转 pdf
    rusteer
        28
    rusteer  
    OP
       2022-10-14 10:40:10 +08:00
    @s0ok 经过 V 友们的提醒(吐槽,我知道怎么搞了) 我被你的头像吸引了
    Pony69
        29
    Pony69  
       2022-10-14 17:21:01 +08:00
    说得挺简单
    rusteer
        30
    rusteer  
    OP
       2022-10-18 17:24:21 +08:00
    尝试了下 因为 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 %}
    ```
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3204 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 11:30 PVG 19:30 LAX 04:30 JFK 07:30
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86