0°

使用Python开发你的第一个服务器程序

内容预览:

    原文始发于微信公众号(Python绿色通道):使用Python开发你的第一个服务器程序

    使用Python开发你的第一个服务器程序

    声明:本文是用Py3.6版本,而且从此以后我的系列文章优先使用Py3.6版本,为什么说优先使用Py3.6版本呢?因为有的时候Py3.6版本确实有些问题,那我只能用Py2.7版本!

    是这样的,昨天在公众号看到有朋友用Django 构建了一个简单的Python服务器程序 用 Python 开发服务器「傻瓜式教程」,于是我当时就留言也要搞一个Flask于是就有了这篇文章. 其实Flask服务器程序我早就写过了,只是当时可能并没有多少人注意到.用Python打造属于自己的搜索引擎

    使用Python开发你的第一个服务器程序

    闲话不说,进入正题.

    打开你的Pytharm,然后新建一个项目,这里你直接选中Flask模板,一切都帮你搞定了. 我们是快速入门,所以不要折腾一些命令行以及其它虚拟环境.

    使用Python开发你的第一个服务器程序

    然后这个项目就可以直接运行,然后你就可以看到经典的Hello world这里使用app.route来管理接口服务的路由,下面我都对一些方法进行了说明,可以看图

    使用Python开发你的第一个服务器程序

    这里我提炼出几点

    每次修改程序后,需要先停止服务,然后再重新运行服务
    Flask默认的请求方式是GET
    怎么接受请求的参数

    这里可以直接通过后缀变量来传入数据

    @app.route('/search/<keyword>')
    def search(keyword):
       '''尖括号里面可以输入变量字符串'''
       return 'hello world %s' % keyword

    当然也可以通过这种方式来请求,这里我是演示get请求方式,这里需要先专稿Flask中的Request模块,然后才能使用

          print('打印全部参数:%s' % request.args)
         # 获取请求字段one,two
         one = int(request.args.get('one'))
         two = int(request.args.get('two'))
    怎么进入到指定的网页

    需要先导入Flask中的render_templete模块,然后再使用
    return render_template('index.html')
    这个index.html文件在你的Templates模板文件夹中

    怎么跳转到其它网页,以及如何带参数,带几个参数

    return render_template('result.html', arg1=one, arg2=two, mode_word=mode_word, show=result)
    这里是跳转到result.html网页中,后面是我们传入的参数,有几个参数我们就可以传入几个参数

    使用Python开发你的第一个服务器程序

    使用Python开发你的第一个服务器程序

    结果

    使用Python开发你的第一个服务器程序

    完整代码

    from flask import Flask
    from flask import request
    from flask import render_template

    app = Flask(__name__)


    @app.route('/')
    def hello_world():
       '''打开浏览器默认是进入这个方法'''
       # return 'Hello World!'
       return render_template('index.html')


    @app.route('/index')
    def index():
       '''后面追加index是进入这个方法'''
       return 'hello world index'


    @app.route('/search/<keyword>')
    def search(keyword):
       '''尖括号里面可以输入变量字符串'''
       return 'hello world %s' % keyword


    @app.route('/plus')
    def doPlus():
       return '666'


    @app.route('/plus')
    def doPlus2(name):
       return '777'


    @app.route('/add')
    def doAdd():
       print('打印全部参数:%s' % request.args)
       # request.args 就是全部参数的字典
       if 'one' not in request.args:
           return '没有请求参数one'

       if 'two' not in request.args:
           return '没有请求参数two'

       try:
           one = int(request.args.get('one'))
           two = int(request.args.get('two'))
           result = '结果是:%d' % (one + two)
           return render_template('result.html', show=result)
       except Exception as e:
           result = '错误信息:%s' % e.args
           return render_template('result.html', show=result)


    @app.route('/mul')
    def doMul():
       print('打印全部参数:%s' % request.args)
       # request.args 就是全部参数的字典
       if 'one' not in request.args:
           return '没有请求参数one'

       if 'two' not in request.args:
           return '没有请求参数two'

       try:
           one = int(request.args.get('one'))
           two = int(request.args.get('two'))

           result = '结果是:%d' % (one * two)
           return render_template('result.html', arg1=one, arg2=two, show=result)
       except Exception as e:
           result = '错误信息:%s' % e.args
           return render_template('result.html', show=result)


    @app.route('/comp')
    def doComp():
       print('打印全部参数:%s' % request.args)
       # request.args 就是全部参数的字典
       if 'one' not in request.args:
           return '没有请求参数one'

       if 'two' not in request.args:
           return '没有请求参数two'

       try:
           one = int(request.args.get('one'))
           two = int(request.args.get('two'))
           mode = request.args.get('mode')
           result = 0
           mode_word = ''
           if '+' == mode:
               result = one + two
               mode_word = '加法'
           elif '-' == mode:
               result = one + two
               mode_word = '减法'
           elif '*' == mode:
               result = one * two
               mode_word = '乘法'
           elif '/' == mode:
               result = one / two
               mode_word = '除法'
           else:
               result = '计算方式无效'
               mode_word = '计算方式无效'

           result = '结果是:%s' % str(result)
           return render_template('result.html', arg1=one, arg2=two, mode_word=mode_word, show=result)
       except Exception as e:
           result = '错误信息:%s' % e.args
           return render_template('result.html', show=result)


    if __name__ == '__main__':
       app.run()

    完整代码见Github: https://github.com/pythonchannel/theFlask

    下一章我们来用Flask 来创建RESTful 风格的接口服务, 你到时可以做一套完整的小程序,App,以及其它需要数据的服务功能!

    推荐阅读

    用Xpath,bs4,正则三种方式爬51job

    用Python打造属于自己的搜索引擎

    一起来Python项目实战,约吗?

    用Python来找你喜欢的妹子(二)

    用Python来找合适的妹子(一)

    使用Python自动化发布文章(二)

    使用Python自动化发布文章:(一)

    Python爬虫:使用Python动态爬取冯大辉老师微博,再用词云分析

    Python爬虫:动态爬取QQ说说并生成词云,分析朋友状况

    Python爬虫:学习Selenium并使用Selenium模拟登录知乎

    Python爬取大量数据时,如何防止IP被封

    Python爬虫:现学现用xpath爬取豆瓣音乐


    的Python之旅

    使用Python开发你的第一个服务器程序

    长按,识别二维码,关注公众号



    目前10000+人已关注加入我们

    使用Python开发你的第一个服务器程序 使用Python开发你的第一个服务器程序 使用Python开发你的第一个服务器程序 使用Python开发你的第一个服务器程序 使用Python开发你的第一个服务器程序 使用Python开发你的第一个服务器程序 使用Python开发你的第一个服务器程序 使用Python开发你的第一个服务器程序

    使用Python开发你的第一个服务器程序 使用Python开发你的第一个服务器程序 使用Python开发你的第一个服务器程序 使用Python开发你的第一个服务器程序 使用Python开发你的第一个服务器程序 使用Python开发你的第一个服务器程序 使用Python开发你的第一个服务器程序 使用Python开发你的第一个服务器程序


    公众号回复:Flask 可以获取一本Flask Web开发电子书


    最后 :大家也可以公众号主页上回复 加群 拉你进群学习,一个纯粹的Python学习环境!


    和大佬一起学习网络安全知识

    以上就是:使用Python开发你的第一个服务器程序 的全部内容

    本站部分内容来源于互联网和用户投稿,如有侵权请联系我们删除,谢谢^^
    Email:[email protected]


    0 条回复 A 作者 M 管理员
      所有的伟大,都源于一个勇敢的开始!
    欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论