V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
uuair
V2EX  ›  Python

问个问题你别笑,用 Python 开发一个网站应该从那里入手?

  •  
  •   uuair · 2017-01-14 12:42:34 +08:00 · 6660 次点击
    这是一个创建于 2656 天前的主题,其中的信息可能已经有所发展或是发生改变。

    纠结了很久怎么学 python ,因为工作忙,又不是搞这行的,所以还是从需求出发。 我打算模仿 ghost.org 做一个一样的程序,原本这个是 node.js 做的,我就是模仿,从后台到前端。。那么用 python 能实现么?我打算边模仿边学。。给个意见,除了 python 基础,还用到什么啊?

    43 条回复    2017-01-17 09:52:14 +08:00
    HypoChen
        1
    HypoChen  
       2017-01-14 12:49:05 +08:00
    flask 简单上手
    HLT
        2
    HLT  
       2017-01-14 12:50:02 +08:00
    反正,我学 php 和 python 时 都是做 blog 。不知道下不去手是什么感受
    gamexg
        3
    gamexg  
       2017-01-14 12:51:06 +08:00 via Android
    django 常用功能都有内置,不需要自己在选择插件。
    uuair
        4
    uuair  
    OP
       2017-01-14 12:53:54 +08:00
    @HypoChen
    @HLT
    @gamexg

    下手就是,不知道从哪里开始,根本不懂呗,所以给个方向,省得一开始就绕弯,这也算是做了一次伸手党了,因为网上的文章太多,说这个说那个都有。。

    falsk 跟 django 怎么比较啊??我看好像 django 用的人多一些,是不是更方便?
    uuair
        5
    uuair  
    OP
       2017-01-14 12:56:22 +08:00
    @HypoChen
    @gamexg

    https://www.v2ex.com/t/273819

    看了这个帖子,我选 falsk 了,至于 html css js 之类,用的时候我再去学吧。。。多谢二位!
    btjoker
        6
    btjoker  
       2017-01-14 13:02:19 +08:00
    自强学堂, 请
    里面有 django 的详细教程
    Kilerd
        7
    Kilerd  
       2017-01-14 13:04:16 +08:00   ❤️ 1
    Django 就跟着文档走就行, Flask 的话给你一个简单的步骤吧:

    1 HTML CSS JS 熟悉一下,起码能写出基本页面,好不好看就看能力
    2 Flask 基本内容 ( request render_template jinja2 redirect )
    3 blueprint 把内容模块化
    4 Flask-SQLAlchemy 适用于 关系型数据库 flask-mongoengine 适用于 MongoDB 。只推荐这两个,其他自己看
    3 flask-login 搞定登录模块
    4 其他的就是业务处理了吧。 没啥特殊的了。
    HLT
        8
    HLT  
       2017-01-14 13:19:19 +08:00
    @uuair 可以参考 7 楼。。但啥也不会 建议先别碰 django
    Gandum
        9
    Gandum  
       2017-01-14 13:33:10 +08:00 via iPad   ❤️ 1
    工作忙没时间最好还是倒过来学,不然自制力差很容易遇难而退,一年也做不出来
    也就是说先把域名主机买了,再用一键脚本+Wordpress 模版把网站上线。上一步想要成功的话也需要查不少资料,不过起码网站已经上线,下面可以在现有模版上先试试前端怎么做(这个才是最重要的,小网站用不着自己研究后端,无非那么几种都有现成),最后再来学 Flask 或者 Django
    当然 Flask 或者 Django 入门都很简单,一起学也很好。
    据说现在中学生介绍,自己没有 PC 可以在手机上写出网站,而且网站看上去很像那么回事,所以有诀窍写网站工作量可以很小
    Gandum
        10
    Gandum  
       2017-01-14 13:35:39 +08:00 via iPad
    另外我有一句 PHP 大法好不知当讲不当讲
    mazyi
        11
    mazyi  
       2017-01-14 15:31:43 +08:00   ❤️ 1
    如果要做一件事情就迅速开始做,不要纠结于技术选择啥的,这种都是细节,弄个能够用的就可以了。

    但是当你弄着弄着发现哪些地方走不通有坑了,你就知道为什么要用这个或者是那个技术了。
    grimpil
        12
    grimpil  
       2017-01-14 15:33:45 +08:00
    先用 HTML 和 CSS 做一个静态页面,放服务器上,能通过网络访问,这是第一步。
    uuair
        13
    uuair  
    OP
       2017-01-14 16:13:41 +08:00
    @Kilerd
    @Gandum
    @Gandum
    @mazyi
    @grimpil

    没想到还这么多人回复啊,我看还有人收藏了,所以我再来留言一下:我的情况是目标有了(模仿 ghost.org 这个博客程序),做法有了(我已经用 ghost 程序搭建了网站, vps 也有了),不过用的都是别人的东西,那么源代码我能看得到,所以现在来问问工具是什么,既然选择了 python , flask 开发,那么 7 楼的建议我一定好好学学,剩下来就是边走边来啦,什么 html 啊, css 啊,都是后面的了。我想,应该能成功。
    spice630
        14
    spice630  
       2017-01-14 16:21:27 +08:00
    如果你 python 0 基础,建议你学 go
    uuair
        15
    uuair  
    OP
       2017-01-14 16:24:24 +08:00
    @spice630 就跟楼上说 php 是最好的语言一样,我只能一笑而过了,等学完 python 再说吧。
    lygmqkl
        16
    lygmqkl  
       2017-01-14 16:55:13 +08:00 via iPhone   ❤️ 1
    @uuair python 就给你那么好的优越感吗? FB 会哭晕在厕所吗?
    rim99
        17
    rim99  
       2017-01-14 17:08:58 +08:00
    应该先构思你的网站要提供的功能,设计好数据库结构。不然以后网站建立起来,在想要重构的时候,会很头疼
    redhatping
        18
    redhatping  
       2017-01-14 17:20:27 +08:00
    买书看。。。。。 花钱去报班。。 学习速度 太慢也是受罪。
    ansheng
        19
    ansheng  
       2017-01-14 17:48:39 +08:00
    先写个博客被,比如: https://blog.ansheng.me/
    源码: https://github.com/anshengme/July
    xrlin
        20
    xrlin  
       2017-01-14 17:53:42 +08:00 via iPhone
    如果学 flask ,推荐 flask web 开发这本书,不厚但很实用,花几天看完结合文档和搜索引擎就可以写一个小网站了, web 开发也就入门了。
    Cbdy
        21
    Cbdy  
       2017-01-14 17:57:47 +08:00 via Android
    不用框架的话可以了解一下 cgi wsgi
    guyskk
        22
    guyskk  
       2017-01-14 18:51:28 +08:00 via Android
    没思路的时候可以搜 flask 开源博客 ,知乎上也能找到不少文章,参考别人的代码找思路。遇到困难的时候,官方文档(或中文文档)是最好的老师, flask 大部分插件都有文档,有些也有中文翻译。
    linboki
        23
    linboki  
       2017-01-14 19:29:00 +08:00
    哈哈哈哈哈哈哈哈
    zzlettle
        24
    zzlettle  
       2017-01-14 19:54:31 +08:00
    新手想用 python 入门做 web 当然还是推荐用 django,不一定是因为 django 就是最好的,因为 django 是最多人在用的。你在学习过程中遇到的任何问题,都能很容易的查到解决方案。
    如果想快速入门了解 django ,我做了几期的教学视频,地址在这里
    https://www.v2ex.com/t/284762
    可以去看看,应该对你有帮助。
    Joway
        25
    Joway  
       2017-01-14 20:32:51 +08:00   ❤️ 1
    先搭一个博客 , 比如我的 https://joway.wang/, source : https://github.com/joway/Block , 做完后起码能学会基本的框架使用

    之后你会不停地给自己动力加新需求,比如写博客不爽加一个图床, 发布文章自动生成 tags 等等进一步的业务逻辑

    再之后你会遇到并发问题,然后加一层 cache , 访问速度问题加一层 cdn 等等
    enotx
        26
    enotx  
       2017-01-14 20:47:14 +08:00
    https://github.com/miguelgrinberg/flasky
    跟着这个一步步学,没啥难的
    uuair
        27
    uuair  
    OP
       2017-01-14 21:13:10 +08:00
    @linboki 这么多人里,就你不厚道

    感谢楼上所有人的帮助,我就不一一回复了,真心感谢。希望来年回头再看,我能有一些进步,也算不辜负你们的热情了。
    Owenjia
        28
    Owenjia  
       2017-01-14 21:19:32 +08:00
    推荐先了解下 HTTP ,然后用大而全的 Django , Flask 可以有点经验之后再看。

    通常这里很多人推荐东西都只是根据自己喜好,并不是真的适合所提出的问题,所以,仅供参考。
    introom
        29
    introom  
       2017-01-14 21:26:27 +08:00 via Android
    django, a 别再 flask 了
    bhaltair
        30
    bhaltair  
       2017-01-14 23:32:10 +08:00   ❤️ 1
    学一下 html css jquery 然后学一下 flask 学一下 python 相关的模块 数据库 CRUD 那块
    buckyRRRR
        31
    buckyRRRR  
       2017-01-14 23:42:02 +08:00 via Android
    慕课网不是有个 django 实战的教程吗,也不贵
    xujinkai
        32
    xujinkai  
       2017-01-14 23:53:16 +08:00   ❤️ 1
    别听楼上瞎说,啥也不会最好从 django 开始。
    也别看那个帖子说 django “重”,那是个感觉,你实际比较不出区别。
    flask 的问题是,插件装着装着就变成另一个 django 了,而且因为插件更多更乱,质量参差不齐不说,你是新手你连那堆插件都理不清。
    我这是亲身经历,我还是以前写过点网站的。 flask 我跟着教程也做过,做到一半做不下去了,现在改成 django 已经撸出一个博客的雏形了。
    我的建议是,找一个 django 做博客的教程,一步一步跟着来。
    django 不够 python ,新手容易被 django 的框架绕晕,刚开始这个情况确实会发生,但做下去慢慢就都明白了,无非就是路由模板那一套。
    但是你要是用 flask ,自由度高对新手来说简直是遭难。我认为 flask 适合的场景,要么技术牛不差时间的,要么网站功能特别 django 无法满足的,很明显楼主都不是,还是开开心心撸出个东西最重要。
    xavierskip
        33
    xavierskip  
       2017-01-14 23:55:57 +08:00
    flask 简单倒是简单,对新手来说好用那不一定了。
    n6DD1A640
        34
    n6DD1A640  
       2017-01-15 00:01:45 +08:00
    我推荐从 web.py 入手会不会被鄙视。。?
    koodai
        35
    koodai  
       2017-01-15 00:49:47 +08:00   ❤️ 1
    我的经验,如果以前有其他语言的基础,哪怕是大学的 C 语言,基本 php 和 python 都无所谓学习语法了,做网站这个目标其他很简单,先把数据的增删改实现,其他的都是一个循序渐进的过程。最好用配置环境的工具,不要花太多时间在环境搭建上,如果一上来感觉开发要用 linux 才好,抛弃自己常用的 Windows ,去折腾不熟悉的 linux ,完全没有学习的成就感,迷失了方向; Python 的开发,首先找一个最简单的框架,找一个别人做的最简单的 TODO 或者 blog 这样的案例,增删改,就这些! 一遍 copy 一遍自己写,这东西,熟能生巧,有些技巧是自己千百遍愚蠢的实现后自己能摸索出来的,有些是复制别人代码中学习领悟到的,文档也不是一次性就能看完的,一边用一边查,遇到一个难点,研究一个难点,夯实基础,到这时候你就发现原来也就这么回事。
    个人感觉,编程语言的学习还是要有一个目标驱动着自己,不断的动手,一定要敲代码, Python 看着简单,你能看懂,也感觉自己记住了,但是你自己敲的时候会发现并没有那么熟悉,熟悉是敲了很多代码练出来的。
    所以,从哪里开始?找最简单的实现复制别人的代码开始!
    Gem
        36
    Gem  
       2017-01-15 02:04:36 +08:00
    推荐 pyramid ,跟着官方教程走一遍,比 django 更加灵活和易用。
    fuermosi777
        37
    fuermosi777  
       2017-01-15 02:09:39 +08:00   ❤️ 1
    推荐 the django book ( http://djangobook.py3k.cn/2.0/) 我当年也跟你一样的问题,这本书帮助我一步步了解了网站的开发是怎么一回事。
    n37r06u3
        38
    n37r06u3  
       2017-01-15 09:18:45 +08:00   ❤️ 1
    http://www.imooc.com/learn/790 新出的 很简单
    uuair
        39
    uuair  
    OP
       2017-01-15 22:56:58 +08:00
    再次感谢你们所有人 @all 多谢多谢!
    markx
        40
    markx  
       2017-01-16 06:34:01 +08:00
    如果没有 web 基础的话,先要了解一下 web 基础。
    wizardoz
        41
    wizardoz  
       2017-01-16 10:02:49 +08:00
    看到楼主的问题,我的第一反映是楼主其实是不知道 web 开发是什么.
    所以楼主不要直接上什么 Django Flask 之类的.
    建议多搜几个博客看看,先了解啥是 HTTP,然后了解一下啥是 CGI,先用 python 自己写几个 CGI 的页面玩玩,等你发现最基本的 CGI 不能满足需要了或者觉得太麻烦了,你再了解一下啥是 wsgi 和 uWsgi.
    接下来就可以着手选择一种自己能够短期掌握的框架了.
    uuair
        42
    uuair  
    OP
       2017-01-16 22:52:41 +08:00
    @markx
    @wizardoz
    对的对的,就是没有基础,所以我都没有方向,但是现在既然选了只好走下去了,看 blog 怎么写,把 python 基础看一遍,然后写吧,不懂的再去学。。。否则我永远都没法向着心爱的 blog 前进了。
    redhatping
        43
    redhatping  
       2017-01-17 09:52:14 +08:00
    @uuair 我也在学习 可以互相交流一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5811 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 219ms · UTC 06:25 · PVG 14:25 · LAX 23:25 · JFK 02:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.