2018-19 учебный год. 10 "В" класс. html, flask

html

flask. Подготовка и технические моменты

flask. Установка дома

Для установки дома один раз из консоли выполните команду

pip install flask

Проверьте, что все работает, выполнив программу из одной строчки

import flask

Не работает? Выполните следующую инструкцию:

Использование в школе

Такие действия нужно проделывать для запуска программы в школе. Дома вы просто запускаете программу.

Первые программы на flask

Первая программа на flask

В параметре port (и в адресе) используйте свое значение порта!

Скачать файл

from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run(host="0.0.0.0", port=25000, debug=True)

Как посмотреть то, что получилось? Запустите браузер и в адресной строке (но не строке поиска) введите адрес:

1543.su:25000
Если вы работаете из дома, и у вас сервер запустился на вашем компьютере, используйте другой адрес:
localhost:25000

Вторая программа на flask

Прежде, чем запускать программу, создайте папку templates, и положите в нее какой-нибудь html-файл myfile.html (не забудьте эту папку и этот файл скопировать на сервер)

Скачать файл

from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def hello_world():
    return render_template('myfile.html')

if __name__ == '__main__':
    app.run(host="0.0.0.0", port=25000, debug=True)

Третья программа на flask

Скачать файл

from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def hello_world():
    return render_template('myfile.html')

@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
    return render_template('hello.html', name=name)

if __name__ == '__main__':
    app.run(host="0.0.0.0", port=25000, debug=True)

Пример проекта с формами

Программа на python

from flask import Flask, render_template, request
app = Flask(__name__)

@app.route('/')
def hello_world():
    return render_template('mainpage.html')

@app.route('/hello/')
def hello():
    args = request.args
    name = args.get("name", ""):
    gender = args.get("gender", "Unknown")
    return render_template('hello.html', name=name, gender=gender)

if __name__ == '__main__':
    app.run(host="0.0.0.0", port=25000, debug=True)

templates/mainpage.html

<html>
<head>
<meta http-equiv="Content-Type"; content="text/html; charset=utf-8">
</head>
<body>
<p>Hello! This is simple form
<form action="/hello">
<p>Enter your name: <input type="text" name="name">
<p>Your gender: <input type="radio" name="gender" value="Male">Male <input type="radio" name="gender" value="Female">Female
<p><input type="submit" value="Submit!">
</form>

</body>
</html>

templates/hello.html

<html>
<head>
<meta http-equiv="Content-Type"; content="text/html; charset=utf-8">
</head>
<body>
<p>Hello, {{name}}!
<p>Do you like 
{% if gender == "Male"%}
football?
{% elif gender == "Female"%}
flowers?
{% else %}
cheeseburgers?
{% endif %}

<form action="/hello">
<input type="text" name="name" value="{{name}}" hidden>
<input type="tex" name="gender" value="{{gender}}" hidden>
<input type="submit" name="button" value="Yes">
<input type="submit" name="button" value="No">
</form>

</body>
</html>


Что и где почитать:


VK API

pip install vk

Страничка vk для разработчиков: vk.com/dev

Описание VK API, в частности: список объектов, список методов.
Описание python-библиотеки, full documentation, самая полезная страничка.
Про создание приложения и получение токена можно почитать здесь, или в официальной документации.
А вообще рекомендую официальную страничку Знакомство с API в официальной документации и примеры на Python с Habr'а

Ссылка для получения токена:
https://oauth.vk.com/authorize?client_id=5490057&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=friends,messages,wall&response_type=token&v=5.52
Число 5490057 в запросе нужно заменить на API_ID Вашего приложения.


requests

python-requests.org,
Статья на Хабре про requests,
вот еще неплохая коротенькая статья,
и вот еще,
что правильно проверить, когда отправляете запросы в интернет