Fixbug structure
This commit is contained in:
parent
3b431c6d0a
commit
ce763d6493
41
app.py
41
app.py
@ -1,5 +1,5 @@
|
|||||||
from flask import Flask, redirect, url_for, render_template, request, flash
|
from flask import Flask, redirect, url_for, render_template, request, flash
|
||||||
from models import db, Contacts
|
from models import db, Contact
|
||||||
from forms import ContactForm
|
from forms import ContactForm
|
||||||
|
|
||||||
# Flask
|
# Flask
|
||||||
@ -27,15 +27,15 @@ def new_contact():
|
|||||||
Create new contact
|
Create new contact
|
||||||
'''
|
'''
|
||||||
form = ContactForm()
|
form = ContactForm()
|
||||||
if request.method == 'POST' and form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
# Get form
|
# Get form
|
||||||
name = request.form['name']
|
name = form.name.data
|
||||||
surname = request.form['surname']
|
surname = form.surname.data
|
||||||
email = request.form['email']
|
email = form.email.data
|
||||||
phone = request.form['phone']
|
phone = form.phone.data
|
||||||
# Save in database
|
# Save in database
|
||||||
try:
|
try:
|
||||||
my_contact = Contacts(name, surname, email, phone)
|
my_contact = Contact(name, surname, email, phone)
|
||||||
db.session.add(my_contact)
|
db.session.add(my_contact)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
# User info
|
# User info
|
||||||
@ -56,13 +56,14 @@ def edit_contact(id):
|
|||||||
:param id: Id from contact
|
:param id: Id from contact
|
||||||
'''
|
'''
|
||||||
form = ContactForm()
|
form = ContactForm()
|
||||||
my_contact = Contacts.query.filter_by(id=id).first()
|
my_contact = Contact.query.filter_by(id=id).first()
|
||||||
if request.method == 'POST' and form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
# Get form
|
# Get form
|
||||||
name = request.form['name']
|
name = form.name.data
|
||||||
surname = request.form['surname']
|
surname = form.surname.data
|
||||||
email = request.form['email']
|
email = form.email.data
|
||||||
phone = request.form['phone']
|
phone = form.phone.data
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# Update contact
|
# Update contact
|
||||||
my_contact.name = name
|
my_contact.name = name
|
||||||
@ -87,7 +88,7 @@ def contacts():
|
|||||||
'''
|
'''
|
||||||
Show alls contacts
|
Show alls contacts
|
||||||
'''
|
'''
|
||||||
contacts = Contacts.query.order_by(Contacts.name).all()
|
contacts = Contact.query.order_by(Contact.name).all()
|
||||||
return render_template('web/contacts.html', contacts=contacts)
|
return render_template('web/contacts.html', contacts=contacts)
|
||||||
|
|
||||||
|
|
||||||
@ -97,21 +98,21 @@ def search():
|
|||||||
Search
|
Search
|
||||||
'''
|
'''
|
||||||
name_search = request.args.get('name')
|
name_search = request.args.get('name')
|
||||||
all_contacts = Contacts.query.filter(
|
all_contacts = Contact.query.filter(
|
||||||
Contacts.name.contains(name_search)
|
Contact.name.contains(name_search)
|
||||||
).order_by(Contacts.name).all()
|
).order_by(Contact.name).all()
|
||||||
return render_template('web/contacts.html', contacts=all_contacts)
|
return render_template('web/contacts.html', contacts=all_contacts)
|
||||||
|
|
||||||
|
|
||||||
@app.route("/contacts/delete/<id>")
|
@app.route("/contacts/delete", methods=('POST',))
|
||||||
def contacts_delete(id):
|
def contacts_delete():
|
||||||
'''
|
'''
|
||||||
Delete contact
|
Delete contact
|
||||||
|
|
||||||
:param id: Id from contact
|
:param id: Id from contact
|
||||||
'''
|
'''
|
||||||
try:
|
try:
|
||||||
mi_contacto = Contacts.query.filter_by(id=id).first()
|
mi_contacto = Contact.query.filter_by(id=request.form['id']).first()
|
||||||
db.session.delete(mi_contacto)
|
db.session.delete(mi_contacto)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
flash('Delete successfully.', 'danger')
|
flash('Delete successfully.', 'danger')
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from models import db, Contacts
|
from models import db, Contact
|
||||||
from faker import Factory
|
from faker import Factory
|
||||||
|
|
||||||
fake = Factory.create()
|
fake = Factory.create()
|
||||||
@ -15,6 +15,6 @@ for num in range(100):
|
|||||||
email = fake.email()
|
email = fake.email()
|
||||||
phone = fake.phone_number()
|
phone = fake.phone_number()
|
||||||
# Save in database
|
# Save in database
|
||||||
mi_contacto = Contacts(name, surname, email, phone)
|
mi_contacto = Contact(name, surname, email, phone)
|
||||||
db.session.add(mi_contacto)
|
db.session.add(mi_contacto)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
@ -7,7 +7,11 @@ app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///book.sqlite'
|
|||||||
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
|
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
|
||||||
db = SQLAlchemy(app)
|
db = SQLAlchemy(app)
|
||||||
|
|
||||||
class Contacts(db.Model):
|
class Contact(db.Model):
|
||||||
|
|
||||||
|
|
||||||
|
__tablename__ = 'contacts'
|
||||||
|
|
||||||
id = db.Column(db.Integer, primary_key=True)
|
id = db.Column(db.Integer, primary_key=True)
|
||||||
name = db.Column(db.String(80), nullable=False)
|
name = db.Column(db.String(80), nullable=False)
|
||||||
surname = db.Column(db.String(100), nullable=True)
|
surname = db.Column(db.String(100), nullable=True)
|
||||||
|
@ -20,8 +20,17 @@
|
|||||||
<td>{{ contact.email }}</td>
|
<td>{{ contact.email }}</td>
|
||||||
<td>{{ contact.phone }}</td>
|
<td>{{ contact.phone }}</td>
|
||||||
<td class="text-right">
|
<td class="text-right">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-6">
|
||||||
<a class="btn btn-primary" href="{{ url_for('edit_contact', id=contact.id) }}">Edit</a>
|
<a class="btn btn-primary" href="{{ url_for('edit_contact', id=contact.id) }}">Edit</a>
|
||||||
<a class="btn btn-danger" data-toggle="confirmation" {# data-title="¿Estas seguro?" #} href="{{ url_for('contacts_delete', id=contact.id) }}">Delete</a>
|
</div>
|
||||||
|
<div class="col-xs-6">
|
||||||
|
<form action="{{ url_for('contacts_delete') }}" method="post">
|
||||||
|
<input type="hidden" name="id" value="{{ contact.id }}">
|
||||||
|
<input type="submit" class="btn btn-danger" data-toggle="confirmation" {# data-title="¿Estas seguro?" #} value="Delete">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
Loading…
Reference in New Issue
Block a user