V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
HashV2
V2EX  ›  程序员

做学校的官网后端可以用 Python 吗?

  •  
  •   HashV2 · 2022-08-17 11:04:57 +08:00 · 8026 次点击
    这是一个创建于 864 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是这样的:

    我们有个学校官网的项目交给我先评估,就是 CMS ,一个主站加一个后台管理,因为我只做过前后端分离的项目,想拿 Python 做后端然后配合一个前端来做,但是我看了好几个教育系统的官网,都是 jsp 、php 啥的,还有一些直接就是 wordpress 。

    想问一下,用 Python 写 restful 配合一个 VUE/react 写这种官网是有什么风险吗,我想随便找个参考一下怎么一个都找不到?

    91 条回复    2022-08-19 01:47:56 +08:00
    zcf0508
        1
    zcf0508  
       2022-08-17 11:06:22 +08:00
    没风险,拿自己顺手的写,不过 python 可能不好让别人接手
    hellojay
        2
    hellojay  
       2022-08-17 11:06:48 +08:00
    GitHub 找不到参考么?

    风险的问题,你这个问题太大了。每一个技术栈都有风险。
    iwh718
        3
    iwh718  
       2022-08-17 11:07:00 +08:00 via Android
    直接 wp
    dzdh
        4
    dzdh  
       2022-08-17 11:07:26 +08:00
    学校官网... 不要 seo 嘛。。用啥 vue 。 别说 ssr 。用 ssr 那你后端干脆也用 node 写吧。
    brianinzz
        5
    brianinzz  
       2022-08-17 11:07:30 +08:00
    没啥风险吧 前后分离 flask fastapi 都可以 核心的点还是在于功能跟流量大小
    HashV2
        6
    HashV2  
    OP
       2022-08-17 11:08:38 +08:00
    @hellojay #2 问风险是因为现在这种项目都要过等保,我怕有什么问题过不去。
    HashV2
        7
    HashV2  
    OP
       2022-08-17 11:09:24 +08:00
    @iwh718 #3 对了,开发周期只有不到 2 个月,wordpress 学习成本高不高,如果可行的话,我倒是想直接用这个做,这种官网项目现在还要过等保,这么搞有风险吗。
    66beta
        8
    66beta  
       2022-08-17 11:09:31 +08:00
    直接用开源框架啊
    做官网 drupal 可能比 wordpress 更合适些
    ml1344677
        9
    ml1344677  
       2022-08-17 11:11:50 +08:00
    没啥风险吧 我公司部门内部项目管理系统 我自己用的 react+antd+flask 感觉挺爽的
    nyakoy
        10
    nyakoy  
       2022-08-17 11:12:46 +08:00
    wordpress 一周内就能上手
    westoy
        11
    westoy  
       2022-08-17 11:13:03 +08:00
    CMS 啊,django admin 一把梭
    HashV2
        12
    HashV2  
    OP
       2022-08-17 11:15:37 +08:00
    @nyakoy #10 ok 已经在找视频学习了
    HashV2
        13
    HashV2  
    OP
       2022-08-17 11:15:50 +08:00   ❤️ 1
    @westoy #11 哈哈哈哈 这就是我最擅长的
    zjsxwc
        14
    zjsxwc  
       2022-08-17 11:16:55 +08:00
    wp 改,菜鸟会点 css 就行
    zjsxwc
        15
    zjsxwc  
       2022-08-17 11:19:16 +08:00
    官网需要 seo ,发布的公告文章能被搜索引擎收录,也需要能够通过 http url 直达文章,
    单页应用可能就是这个风险吧。
    iwh718
        16
    iwh718  
       2022-08-17 11:19:24 +08:00 via Android
    @HashV2 没有绝对安全的系统。wp 不需要技术都可以部署。
    kidblg
        17
    kidblg  
       2022-08-17 11:22:00 +08:00
    wp 吧。长远考虑,易维护最重要,不出事故也很重要。
    nothingistrue
        18
    nothingistrue  
       2022-08-17 11:24:18 +08:00
    官网+CMS ,请直接买 /用现成的模板,不要用任何编程语言自己写。
    HashV2
        19
    HashV2  
    OP
       2022-08-17 11:26:37 +08:00
    @kidblg #17 这倒是打动我了,确实不出事故很重要。谢谢指导!
    zaul
        20
    zaul  
       2022-08-17 11:27:15 +08:00 via iPhone
    PHP 一把子梭,这时候 PHP 的优势就体现出来了
    lB2cGz9OQ1agw7XK
        21
    lB2cGz9OQ1agw7XK  
       2022-08-17 11:36:11 +08:00
    django admin 一把梭
    yaoyao1128
        22
    yaoyao1128  
       2022-08-17 11:36:13 +08:00 via iPhone
    可以但是不建议
    首先 jsp 和 php 多一个原因是虚拟主机多……其实 asp 以前也挺多的
    其次是改模版容易,基本上用的系统所有功能都可以直接在 dashboard 完成
    ciki
        23
    ciki  
       2022-08-17 11:38:31 +08:00
    @66beta #8 drupal 是真不好维护,国内懂的都没几个
    ciki
        24
    ciki  
       2022-08-17 11:40:02 +08:00
    学校官网访问量也不大,只要不崩溃平时也没人看,随便找个顺手的搞
    knightdf
        25
    knightdf  
       2022-08-17 11:52:48 +08:00
    wordpress 不香么?
    lp7631010
        26
    lp7631010  
       2022-08-17 11:56:49 +08:00
    wordpress 两三天就搞完了 节省一个多月的时间
    renhou
        27
    renhou  
       2022-08-17 12:04:29 +08:00
    任何官网性质的网站,wordpress 是最优解
    weak
        28
    weak  
       2022-08-17 12:23:06 +08:00 via iPhone
    wordpress 南方科技大学用的就是 wordPress
    CatCode
        29
    CatCode  
       2022-08-17 12:28:40 +08:00
    选课、成绩查询啥的还是选个高性能的吧
    其他的随便搞搞 但不要留安全漏洞就好
    whywaoxaks
        30
    whywaoxaks  
       2022-08-17 12:46:24 +08:00
    wp ,再花 200 买个主题,按要求改一改,就差不多了。
    HashV2
        31
    HashV2  
    OP
       2022-08-17 12:59:08 +08:00
    @whywaoxaks #30 原来主题是收费的啊?
    sutra
        32
    sutra  
       2022-08-17 13:13:42 +08:00 via iPhone
    直接 headless cms 。
    cssk
        33
    cssk  
       2022-08-17 13:16:35 +08:00 via iPhone
    @HashV2 #30 有免费主题有收费主题,你要会改,当然可以自己改
    fy
        34
    fy  
       2022-08-17 13:24:36 +08:00
    想啥呢,直接上 WP ,最多半个月搞完。
    自己写(无论是不是 python)是可以,但是这种项目上不值得
    PEAL
        35
    PEAL  
       2022-08-17 14:19:22 +08:00
    我前东家一个几百人的公司,后台全是 python 写的
    julyclyde
        36
    julyclyde  
       2022-08-17 14:26:08 +08:00
    @HashV2 等级保护不会因为 python 过不去,而是会因为安全不合规过不去
    ilylx2008
        37
    ilylx2008  
       2022-08-17 14:29:48 +08:00
    学校里的,一般是买个 cms 生成纯静态。

    动态语言基本上安全评审都过不去。
    libook
        38
    libook  
       2022-08-17 14:36:23 +08:00
    网站后台管理系统用防火墙、Web 应用防火墙、VPN 、堡垒机、操作审计系统,密码位数够长、数字与字母大小写外加符号、隔一段时间强制修改,登录会话一段时间后强制失效。系统和数据得有实时备份和异地容灾。系统账号三权分立。剩下的就是机房管理和人员管理要有相应的管理制度文档以及实施记录。再对前后台系统进行渗透测试通过,差不多就可以过等保了。

    所以你用啥技术栈没啥大所谓,无非就是支持动态载入代码的技术栈(如 PHP 、JSP 、ASP 、ASPX )会比较容易产生漏洞而已,Python 只要避免数据库注入漏洞基本问题不大。
    terranboy
        39
    terranboy  
       2022-08-17 14:44:06 +08:00
    next.js SSG 你值得拥有 太适合不过了 都什么年代了
    HashV2
        40
    HashV2  
    OP
       2022-08-17 14:57:11 +08:00
    @ilylx2008 #37 wp 是 cms 生成的纯静态吧? 我发帖后才知道这个,跑了个 docker 玩了一会儿,感觉挺合适的。
    pytth
        41
    pytth  
       2022-08-17 15:08:06 +08:00
    学校官网别用 vue/react ,建议使用 php 写就行了。或者 wp 直接大改一下就能用。
    xhldtc
        42
    xhldtc  
       2022-08-17 15:17:30 +08:00
    spring boot + VUE 就是干,要啥自行车
    monologue520
        43
    monologue520  
       2022-08-17 15:24:04 +08:00
    JAMStack
    ilylx2008
        44
    ilylx2008  
       2022-08-17 15:31:15 +08:00
    @HashV2 wp 不行,没几天就被黑,除非部署 wp 的机器不上网。
    podel
        45
    podel  
       2022-08-17 15:33:58 +08:00
    开源框架 反而 python 写的漏洞比 php 啥的少多了。
    java 过段时间某某库有漏洞。
    python 基本不会爆这种问题。基本上一个库就那个库的基本功能。
    louzhichen
        46
    louzhichen  
       2022-08-17 15:34:06 +08:00
    用 wp 也好,py+flask 也好,不要自己造轮子。技术的安全性倒是不用担心太多
    liuxingdeyu
        47
    liuxingdeyu  
       2022-08-17 15:34:45 +08:00
    django 、flask 、odoo 感觉都行,学习成本 odoo>django>flask
    podel
        48
    podel  
       2022-08-17 15:36:14 +08:00
    python 的问题在于 自由度过高。自由度高就导致可以各种骚操作。 导致很难传承。
    python 写的话 要制定相应的编码规范 typing 一定要写好。
    但是 python 因为自由度高所以可以开发很快。反而 java
    lonenol
        49
    lonenol  
       2022-08-17 15:36:50 +08:00
    可以,但不太好。。
    用 vue/react 做也要注意做好 url 路由,一定要可以通过 url 访问具体页面,有的 sap 做的特别恶心,主页之外全靠点,可以说是技术的倒退,比 jsp 还差一万倍。。
    HashV2
        50
    HashV2  
    OP
       2022-08-17 15:39:32 +08:00
    @ilylx2008 #44 WTF ?这么严重?
    ilylx2008
        51
    ilylx2008  
       2022-08-17 15:45:22 +08:00
    @HashV2 开源的,漏洞都公开的。

    我 10 多年前的代码还在学校的服务器上,说有漏洞,不是代码漏洞,是 php5 本身的,还有 sqlserver 的,让我修我实在是无能为力。

    建议让老师找个公司买个 cms 带模板带维护的,多好。

    我们学校就这样的,各个学院都用上了。
    HashV2
        52
    HashV2  
    OP
       2022-08-17 15:46:24 +08:00
    @podel #48 写了三年 python 了,规范、typing 不是问题 尤其 3.10 之后写起来很顺手,但是这个官网站点很多回复都不建议用 python 。
    HashV2
        53
    HashV2  
    OP
       2022-08-17 15:48:39 +08:00
    @ilylx2008 #51 这就是公司从学校接的项目,评估阶段。。。
    ilylx2008
        54
    ilylx2008  
       2022-08-17 15:53:41 +08:00
    @HashV2 看学校等级,安全事故你们担责或者你们对接的老师担责的话,必须纯静态。
    总之:第一目标是安全。

    第二目标是:好看。
    LavaC
        55
    LavaC  
       2022-08-17 16:00:07 +08:00
    我接过的因为其它系都是 cms 反而不能搞特例,你这个还有自由发挥空间就挺好。
    BeforeTooLate
        56
    BeforeTooLate  
       2022-08-17 16:18:31 +08:00
    php 吧去年刚给一个 211 学校某个实验室做了个官网
    terranboy
        57
    terranboy  
       2022-08-17 16:21:09 +08:00
    看了各位的回复 好像活在 10 年前
    Alliot
        58
    Alliot  
       2022-08-17 16:23:08 +08:00
    静态生成最适合
    Sunzehui
        59
    Sunzehui  
       2022-08-17 16:27:30 +08:00
    真不是跟不上时代,你用了那些花里胡哨的前端框架,做 SEO 怎么办? SSR ?为什么不一开始就服务端渲染?
    搞一堆 RESTAPI ,CMS 后台你是不是还得做一份?
    直接找个 CMS 源码不香吗,后台写好了,前端改改模板标签就渲染完了,用不了一周就搞完了。
    HashV2
        60
    HashV2  
    OP
       2022-08-17 16:42:10 +08:00
    @Alliot #58 有成熟框架推荐吗?我看 wp 并不是静态生成的。
    terranboy
        61
    terranboy  
       2022-08-17 17:05:45 +08:00
    @HashV2 WP 有插件可以生成静态页面, 如果习惯用 VUE/react + API 方式 可以看看 next.js 他的 SSG 功能就是生成静态页面 并且可以增量生成
    RRRoger
        62
    RRRoger  
       2022-08-17 17:06:23 +08:00
    @liuxingdeyu 难的看到有人提到 odoo
    bzshow1
        63
    bzshow1  
       2022-08-17 17:08:50 +08:00
    用 zblog 修改
    Damn
        64
    Damn  
       2022-08-17 17:16:55 +08:00 via iPhone
    @terranboy 因为现代高射炮精度可以射蚊子了,就必须要用高射炮射蚊子么?弄那么花,必要性在哪?
    terranboy
        65
    terranboy  
       2022-08-17 17:24:21 +08:00
    @Damn ?? 我的意思熟悉那个用哪个 张嘴就来?
    westoy
        66
    westoy  
       2022-08-17 17:39:23 +08:00
    @HashV2

    没必要生成静态, 这玩意儿属于 20 年前玩的

    后来因为重新生成开销太大, 短暂的被 xml + xslt 和 SSI 替换代, 再后来就进入动态伪静态 + cache 的年代了

    典型案例就是 phpwind 当年就是主打生成静态, 它家自己官网开了几天, 因为高并发的疯狂重新生成开销太大, 就关了再也没开过......
    ruoduan
        67
    ruoduan  
       2022-08-17 17:42:46 +08:00
    快,定制性少 就用 wp ,搞个主题一把梭;

    个性化需求,以后想要拓展,或者练练手 可以用 Flask \ Django + react + mysql 自己做一套 CMS

    风险? 那么成熟的语言和框架 做个 CMS 不至于有啥风险
    HashV2
        68
    HashV2  
    OP
       2022-08-17 17:45:57 +08:00
    @westoy #66 我们还真有一个客户是纯静态的, 部署在一台 win 服务器上,每次发布内容需要用一个客户端工具,然后临时解锁一下项目文件夹,发布完成之后再立刻锁上,我刚知道的时候特别无语,没想到自己现在也碰到了这种问题。

    我被大家各种观点搞晕了,先试试 wordpress 搞个 demo 吧。
    HashV2
        69
    HashV2  
    OP
       2022-08-17 17:48:05 +08:00
    @ruoduan #67 我 django 其实写的挺多的,但是看大家说用这种方式 SEO 不好做,而且开发周期给的不长。
    40EaE5uJO3Xt1VVa
        70
    40EaE5uJO3Xt1VVa  
       2022-08-17 17:54:55 +08:00
    技术只是个工具,用的顺手就行。

    要说风险,当年在学校的网络中心帮忙,实在看不下去那个垃圾教务系统的选课功能。和几个同学合作,用 Bootstrap + Golang + redis 重写了一个选课,偷偷盖上教务系统页面的 Iframe 内容上。平稳得度过选课后又给换了回来。

    风险有这个大吗?
    imklay
        71
    imklay  
       2022-08-17 17:57:57 +08:00
    官网不要 ssr 么,什么 vue ,react ,jq 一把梭(dog
    Hipan
        72
    Hipan  
       2022-08-17 18:09:37 +08:00
    如果没有给你钱,最好用成品
    HashV2
        73
    HashV2  
    OP
       2022-08-17 18:12:32 +08:00
    @yanzhiling2001 #70 🐂🍺 但是我们出现风险问题会担责,所以还是不能冒险
    HashV2
        74
    HashV2  
    OP
       2022-08-17 18:14:23 +08:00
    @Hipan #72 既然是项目,肯定是付给公司钱的呀,公司安排我调研一下可行性和开发成本相关的问题,因为之前没做过这种项目,所以来问一下😂
    pusheax
        75
    pusheax  
       2022-08-17 18:29:08 +08:00
    从头开发的话,语言其实和安全性关系不大。
    php 有一堆函数安全性不好,可能造成文件包含、代码执行。
    vue 接口信息全包含在 JS 文件里面,容易出未授权访问。
    每个语言都有各自的危险函数、危险写法。
    还是得看开发者安全编程的知识储备,或者有没有专门负责挖洞的测试人员。
    如果没有相关知识储备。最好就是用开源系统。关注漏洞通告及时上补丁即可。
    比如 WP ,不用第三方插件的话,严重漏洞出的很少。
    或者就干脆用静态。CMS 没什么交互需求,静态站点,只开放 80 和 443 端口,是最为安全的。
    claysec
        76
    claysec  
       2022-08-17 18:43:27 +08:00
    个人是不建议,后续如果没人接手的话将是个烂摊子,毕竟现在用 Python 的不多,直接一个成熟的开源的 CMS 搭建好就行了,自己只需要写模板。
    Cbdy
        77
    Cbdy  
       2022-08-17 18:44:50 +08:00 via Android
    您好,可以的
    seenthewind
        78
    seenthewind  
       2022-08-18 09:09:12 +08:00
    django admin 一把梭
    --
    django admin 还是很强的,更别说可以各种魔改了,小小 cms 不成问题。
    mosfet
        79
    mosfet  
       2022-08-18 09:09:17 +08:00
    Laravel 一把梭哈
    zhw2590582
        80
    zhw2590582  
       2022-08-18 09:12:20 +08:00
    wordpress 解君愁
    sun019
        81
    sun019  
       2022-08-18 09:36:38 +08:00
    语言不是什么问题,学校官网 注意 SEO
    WytheHuang
        82
    WytheHuang  
       2022-08-18 09:52:13 +08:00
    Wordpress 搞完, 注意 PHP 版本, 尽量用新的
    raptor
        83
    raptor  
       2022-08-18 10:49:34 +08:00
    要快还是 wordpress 吧
    goodryb
        84
    goodryb  
       2022-08-18 11:16:18 +08:00
    可能这就不是一个技术问题, 最终的目标是有一个官网,而不是让你开发一套
    uyoungco
        85
    uyoungco  
       2022-08-18 11:35:33 +08:00
    织梦 帝国走起
    HashV2
        86
    HashV2  
    OP
       2022-08-18 12:05:36 +08:00
    淦 leader 还是决定要前后端分离开发了 准备加班~~

    django rest framework 一把梭
    BeautifulSoup
        87
    BeautifulSoup  
       2022-08-18 12:13:20 +08:00
    没风险。我们承包的学校**智慧党建**系统,django rest framework +vue 一把梭,而且前后分离的好处是,后期无痛新增了小程序端,直接复用 web 端接口即可,顺利通过安保测试上线。
    唯一比较担心的是性能
    HashV2
        88
    HashV2  
    OP
       2022-08-18 13:11:08 +08:00
    @BeautifulSoup #87 okok !这就去催产品出原型
    z1829909
        89
    z1829909  
       2022-08-18 18:49:56 +08:00
    没啥风险, 如果是万年内容不变的那种, 你不用后端直接写 html 都可以
    ztcaoll222
        90
    ztcaoll222  
       2022-08-18 23:53:09 +08:00
    学校官网要啥 seo...
    angrylid
        91
    angrylid  
       2022-08-19 01:47:56 +08:00 via Android
    @ztcaoll222 查研究生考试科目和招录人数的时候。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2450 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 15:48 · PVG 23:48 · LAX 07:48 · JFK 10:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.