Skip to content

Instantly share code, notes, and snippets.

@jnovikov
Last active June 20, 2019 14:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jnovikov/cd4ee38397390eb10906f4781a5d8ce5 to your computer and use it in GitHub Desktop.
Save jnovikov/cd4ee38397390eb10906f4781a5d8ce5 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Add message</title>
</head>
<body>
Here you can add new message
<form method="post" action="">
<label for="text">Message: </label>
<input id="text" type="text" name="text">
<br>
<input type="submit" value="Add message">
</form>
</body>
</html>
import requests
url = 'http://localhost:5000/'
# resp = requests.post(url, data={'text': "Hello world"})
# print(resp.text)
name = input('Enter your login: ')
if name == '':
name = None
while True:
messages = requests.get(url).text
for m in messages.split('\n'):
print(m)
new_message = input("Enter your message: ")
if new_message != '':
requests.post(url + 'add',
cookies={'username': name},
data={'text': new_message}
)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Welcome to super chat!</title>
</head>
<body>
<h5>Hello, {{ user }}</h5>
<ul>
{% for message in messages %}
<li>{{ message[0] }}: {{ message[1] }}</li>
{% endfor %}
</ul>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
<form method="post" action="">
<label for="login">Enter your login</label>
<input type="text" name="login" id="login">
<input type="submit" value="Login">
</form>
</body>
</html>
from flask import Flask, request, render_template, make_response, redirect
app = Flask(__name__)
messages = []
@app.route('/')
def index_page():
n = request.args.get('n', 20)
msgs = messages[-n:]
user = request.cookies.get('username', 'Anon')
return render_template('index.html', messages=msgs, user=user)
@app.route('/add', methods=["POST", "GET"])
def add_page():
if request.method == "POST":
text = request.form.get('text')
if text == None:
return "Enter something!"
author = request.cookies.get('username', 'Anon')
messages.append((author, text))
return "OK"
else:
return render_template('add.html')
@app.route('/login', methods=["POST", "GET"])
def login_page():
if request.method == "POST":
login = request.form.get('login', 'Anon')
resp = make_response(redirect('/add'))
resp.set_cookie('username', login)
return resp
return render_template('login.html')
app.run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment