Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file not shown.
15 changes: 15 additions & 0 deletions Sakhniuk Kostiantyn/workshop2/forms.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField

class ProductForm(FlaskForm):
product_name = StringField('product_name')
type = StringField('type')
vendor = StringField('vendor')
cost = StringField('cost')
submit = SubmitField('Submit')

class VendorForm(FlaskForm):
vendor_name = StringField('vendor_name')
products = StringField('products')
link = StringField('link')
submit = SubmitField('Submit')
53 changes: 53 additions & 0 deletions Sakhniuk Kostiantyn/workshop2/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
from flask import Flask, render_template, request, redirect, url_for
from forms import *

app = Flask(__name__)
app.config['SECRET_KEY'] = '5930142'

product_dict = {'product_name': 'Intel Core i9-9900K',
'type': 'processor',
'vendor': 'Bob',
'cost': 15000}

vendor_dict = {'vendor_name': 'Bob',
'products': 'Intel Core i9-9900K,Intel Core i9-9900K',
'link': 'none'
}

@app.route('/api/<action>', methods=['GET'])
def apiget(action):
if action == "product":
return render_template("product.html", product=product_dict)
elif action == "vendor":
return render_template("vendor.html", vendor=vendor_dict)
elif action == "all":
return render_template("all.html", product=product_dict, vendor=vendor_dict)
else:
return render_template("404.html", action_value=action)

@app.route('/api/product', methods=['GET', 'POST'])
def api_product():
form = ProductForm()
if form.is_submitted():
result = request.form
product_dict['product_name'] = result['product_name']
product_dict['type'] = result['type']
product_dict['vendor'] = result['vendor']
product_dict['cost'] = result['cost']
return redirect(url_for('apiget', action="all"))
return render_template('product.html', form=form)

@app.route('/api/vendor', methods=['GET', 'POST'])
def api_vendor():
form = VendorForm()
if form.is_submitted():
result = request.form
vendor_dict['vendor_name'] = result['vendor_name']
vendor_dict['products'] = result['products']
vendor_dict['link'] = result['link']
return redirect(url_for('apiget', action="all"))
return render_template('vendor.html', form=form)


if __name__ == '__main__':
app.run()
14 changes: 14 additions & 0 deletions Sakhniuk Kostiantyn/workshop2/templates/404.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{% extends "basis.html" %}
{% block head %}
<meta charset="UTF-8">
<title>404 page</title>
{% endblock %}

{% block header%}
<h1> Error 404</h1>
{% endblock %}

{% block content%}
<h3>Uncorrect action: {{action_value}}.</h3>
<h3>Correct values: (product, vendor, all).</h3>
{% endblock %}
41 changes: 41 additions & 0 deletions Sakhniuk Kostiantyn/workshop2/templates/all.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{% extends "basis.html" %}

{% block head %}
<meta charset="UTF-8">
<title>all</title>
{% endblock %}

{% block content%}
<div style="text-align:left">
<div id='tb1'>
<h3>Vendor table</h3>
<table border='1'>
{% for key, value in product.items() %}
<tr>
<th>
{{key}}
</th>
<td>
{{value}}
</td>
</tr>
{% endfor %}
</table>
</div>
<div id='tb2'>
<h3>Vendor table</h3>
<table border='1' >
{% for key, value in vendor.items() %}
<tr>
<th>
{{key}}
</th>
<td>
{{value}}
</td>
</tr>
{% endfor %}
</table>
</div>
</div>
{% endblock %}
14 changes: 14 additions & 0 deletions Sakhniuk Kostiantyn/workshop2/templates/basis.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="en">
<head>
{% block head %}
{% endblock %}
</head>

<body>
{% block header %}
{% endblock %}
{% block content %}
{% endblock%}
</body>
</html>
34 changes: 34 additions & 0 deletions Sakhniuk Kostiantyn/workshop2/templates/product.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{% extends "basis.html" %}

{% block head %}
<meta charset="UTF-8">
<title>Product</title>
{% endblock%}

{% block header %}
{% endblock%}

{% block content %}
<h2>Product form</h2>
<form action="" method="post">
<p>
{{ form.product_name.label }} <br>
{{ form.product_name(size=30) }}
</p>
<p>
{{ form.type.label }} <br>
{{ form.type(size=30) }}
</p>
<p>
{{ form.vendor.label }} <br>
{{ form.vendor(size=30) }}
</p>
<p>
{{ form.cost.label }} <br>
{{ form.cost(size=30) }}
</p>

<p>{{ form.submit() }}</p>
</form>

{% endblock %}
29 changes: 29 additions & 0 deletions Sakhniuk Kostiantyn/workshop2/templates/vendor.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{% extends "basis.html" %}

{% block head %}
<meta charset="UTF-8">
<title>Vednor</title>
{% endblock%}

{% block header %}
{% endblock%}

{% block content %}
<h2>Vendor form</h2>
<form action="" method="post">
<p>
{{ form.vendor_name.label }} <br>
{{ form.vendor_name(size=30) }}
</p>
<p>
{{ form.products.label }} <br>
{{ form.products(size=30) }}
</p>
<p>
{{ form.link.label }} <br>
{{ form.link(size=30) }}
</p>
<p>{{ form.submit() }}</p>
</form>

{% endblock %}