{ "metadata": { "name": "flask" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Flask" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from IPython.display import display, SVG\n", "display(SVG('http://flask.pocoo.org/static/logo/flask.svg'), embed=True)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "svg": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "" ], "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u5feb\u901f\u4e0a\u624b:\n", "\n", "* [\u82f1\u6587\u7248](http://flask.pocoo.org/docs/quickstart/)\n", "* [\u4e2d\u6587\u7248](https://dormousehole.readthedocs.org/en/latest/quickstart.html)\n", "\n", "## \u5b89\u88c5\n", "\n", "\u80fd\u8bbf\u95ee\u516c\u7f51\u7684\u8bf7\u53c2\u8003\u4e0a\u4e00\u8282\u7684\u5185\u5bb9\u521b\u5efavirtualenv, \u7136\u540e:\n", "\n", "
\n",
      "pip install Flask\n",
      "
\n", "\n", "\u4e0d\u80fd\u8bbf\u95ee\u516c\u7f51\u7684:\n", "\n", "
\n",
      "set PATH=C:\\Python27\\Scripts;%PATH%\n",
      "easy_install http://10.12.34.99/upload/Werkzeug-0.9.1dev-20130717.win32.exe\n",
      "easy_install http://10.12.34.99/upload/MarkupSafe-0.18.win32.exe\n",
      "easy_install http://10.12.34.99/upload/itsdangerous-0.22.win32.exe\n",
      "easy_install http://10.12.34.99/upload/Jinja2-2.7dev-20130717.win32.exe\n",
      "easy_install http://10.12.34.99/upload/Flask-0.10.1-20130717.win32.exe\n",
      "
\n", "\n", "## \u8bfe\u7a0b\u5185\u5bb9\n", "\n", "\u5feb\u901f\u4e0a\u624b\u6559\u7a0b\u6bd4\u8f83\u7b80\u5355, \u800c\u4e14\u5185\u5bb9\u975e\u5e38\u8be6\u7ec6, \u53ef\u4ee5\u81ea\u5b66. \u4e0b\u9762\u6211\u4eec\u53c2\u8003\u4e00\u4e2a\u66f4\u6709\u96be\u5ea6\u7684\u6765\u8bb2:\n", "\n", "http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world\n", "\n", "**\u8bf7\u624b\u5de5\u8f93\u5165\u4f8b\u5b50\u4e2d\u7684\u4ee3\u7801!!!**\n", "\n", "\u6709\u4e9b\u9519\u8bef\u53ea\u6709\u81ea\u5df1\u624b\u5de5\u8f93\u5165\u8fc7\u624d\u4f1a\u8bb0\u4f4f:\n", "\n", "* l\u548c1\n", "* O\u548c0\n", "\n", "### \u5305(package)\n", "\n", "\u5305(package)\u5c31\u662f\u5177\u6709`__init__.py`\u6587\u4ef6\u7684\u76ee\u5f55. \u5305\u53ef\u4ee5\u50cf\u6a21\u5757\u4e00\u6837\u5bfc\u5165, \u5bfc\u5165\u65f6`__init__.py`\u91cc\u7684\u4ee3\u7801\u4f1a\u88ab\u6267\u884c(\u4e00\u6b21).\n", "\n", "\u7cfb\u7edf\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u53ea\u80fd\u770b\u89c1\u7cfb\u7edf\u76ee\u5f55(Python\u5b89\u88c5\u76ee\u5f55\u4e0b\u7684lib\u6587\u4ef6\u5939)\u4ee5\u53ca\u5f53\u524d\u76ee\u5f55\u4e0b\u7684\u6a21\u5757\u548c\u5305)." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }