{% extends "index.html" %}
{% block content %}
<div id="content">
<div class="items">
<form action="" method="POST">
{{ form1.hidden_tag() }}
<div class="item" style="width: 400px">
{{ form1.kingdom.label }} {{ form1.kingdom() }}
<br><br>
{{ form1.button }}
<br><br>
<b>
{% for id, name, genus_id, family_id, order_id, class_id, divisionOrPhylum_id, kingdom_id in species %}
{{ name }} <br>
{% endfor %}
</b>
</div>
</form>
<form action="" method="POST">
{{ form2.hidden_tag() }}
<div class="item" style="width: 400px">
<i>Введите вид растения или животного</i>
<br><br>
{{ form2.find.label }} {{ form2.find() }}
<br><br>
{{ form2.findButton }}
<br><br>
{% for species in search %}
<b> {{ species.name }} </b> -> {{ species.genus.name }} -> {{ species.family.name }} ->
{{ species.order.name }} -> {{ species.class.name }} -> {{ species.divisionOrPhylum.name }} ->
{{ species.kingdom.name }} <br>
{% endfor %}
</div>
</form>
</div>
</div>
{% endblock %}
KINGDOMS = {1: 'флора', 2: 'фауна'}
class SpeciesForm(FlaskForm):
kingdom = RadioField('Выберите растения или животных', coerce=int, choices=KINGDOMS.items())
button = SubmitField('фильтр')
class SearchForm(FlaskForm):
find = StringField('название', validators=[DataRequired(message='Обязательное поле')])
findButton = SubmitField('найти')
@app.route('/species', methods=['GET', 'POST'])
def species():
form1 = SpeciesForm()
form2 = SearchForm()
if form1.validate_on_submit() or form2.validate_on_submit():
species = list(db.engine.execute('SELECT * FROM Species WHERE kingdom_id=:kingdom_id', {'kingdom_id': form1.kingdom.data}))
search = Species.query.filter(Species.name.like(f'%{form2.find.data}%')).all()
return render_template('species.html', species=species, form1=form1, search=search, form2=form2)
return render_template('species.html', form1=form1, form2=form2)
{% extends "index.html" %}
{% block content %}
<div id="content">
<form action="" method="POST">
{{ form1.hidden_tag() }}
{{ form2.hidden_tag() }}
<div class="items">
<div class="item">
{{ form1.kingdom.label }} {{ form1.kingdom() }}
<br><br>
{{ form1.button }}
<br><br>
<b>
{% for id, name, genus_id, family_id, order_id, class_id, divisionOrPhylum_id, kingdom_id in species %}
{{ name }} <br>
{% endfor %}
</b>
</div>
<div class="item">
<i>Введите вид растения или животного</i>
<br><br>
{{ form2.find.label }} {{ form2.find() }}
<br><br>
{{ form2.findButton }}
<br><br>
{% for species in search %}
<b> {{ species.name }} </b> -> {{ species.genus.name }} -> {{ species.family.name }} ->
{{ species.order.name }} -> {{ species.class.name }} -> {{ species.divisionOrPhylum.name }} ->
{{ species.kingdom.name }} <br>
{% endfor %}
</div>
</div>
</form>
</div>
{% endblock %}
/* this is flexbox */
.items
{
display: flex;
text-align: left;
width: 100%;
height: 2340px;
margin: auto;
/* border: 3px solid purple; */
flex-direction: row;
}
.item
{
/* border: 3px solid orange; */
padding: 2%;
}
class Family(db.Model):
__tablename__ = 'family'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(40))
with_plants = db.relationship('Genus', backref='f')
class Genus(db.Model):
__tablename__ = 'genus'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(40))
with_plants = db.relationship('Plants', backref='g')
family_id = db.Column(db.Integer, db.ForeignKey('family.id'))
class Plants(db.Model):
__tablename__ = 'plants'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(40))
genus_id = db.Column(db.Integer, db.ForeignKey('genus.id'))
на стековерфлоу верно подсказали, вот что решило проблему:
если вы удалили known_hosts то как собрались подключаться к серверу по ssh?
Попробуйте использовать команду ssh -i private_server_key username@192.168.x.x , где private_server_key это приватный ключ от сервера. Перейдите в директорию нахождения приватного ключа и выполните команду выше.
Еще нужно было перезагрузить virtualBox вместе с линуксом.
И интернет появился, и линукс коннектится из винды по ssh теперь,. С прежней командой для ssh.