Skip to content

Commit e8569ac

Browse files
committed
Created contact form
1 parent a1e3791 commit e8569ac

File tree

4 files changed

+25
-5
lines changed

4 files changed

+25
-5
lines changed

app/db.sqlite

4 KB
Binary file not shown.

app/forms.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
from datetime import datetime
2+
from email.policy import default
13
from flask_wtf import FlaskForm
2-
from wtforms import StringField, PasswordField, BooleanField, TextAreaField
4+
from wtforms import StringField, PasswordField, BooleanField, TextAreaField, DateTimeField
35

46
from wtforms.validators import InputRequired, Length, Email
57

@@ -25,10 +27,11 @@ class SignUpForm(FlaskForm):
2527

2628
class ContactForm(FlaskForm):
2729
name = StringField("Name", validators=[Length(
28-
min=4, message="Name must be 4 or more letters long")])
30+
min=4, message="Name must be 4 or more letters long"),InputRequired("Name is required")])
2931
email = StringField("Email", validators=[Email(
3032
"Enter a valid email address"), InputRequired("Email is required")])
3133
subject = StringField("Subject", validators=[
3234
InputRequired("Subject is required")])
3335
message = TextAreaField("Message", validators=[
34-
InputRequired("Subject is required")])
36+
InputRequired("Write a Message")])
37+
createdAt = DateTimeField("CreatedAt", default=datetime.now)

app/main.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
from crypt import methods
2-
from flask import Blueprint,render_template,url_for,request
1+
from flask import Blueprint, redirect,render_template,url_for,request,flash
32
from flask_login import current_user,login_required
43
from app import db
4+
from app.models import Contact
55
from app.forms import ContactForm
6+
from datetime import datetime
67

78
main = Blueprint('main', __name__)
89

@@ -15,6 +16,12 @@ def dashboard():
1516
email = form.email.data
1617
subject = form.subject.data
1718
message = form.message.data
19+
20+
new_message = Contact(name=name,email = email,subject=subject,message=message )
21+
db.session.add(new_message)
22+
db.session.commit()
23+
flash(message="Your feedback has been submitted",category="success")
24+
return redirect(url_for('main.dashboard'))
1825
return render_template("dashboard.html",form = form)
1926

2027
@main.route('/profile')

app/models.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
1+
from email.policy import default
12
from . import db
23
from flask_login import UserMixin
4+
from datetime import datetime
35

46
class User(UserMixin,db.Model):
57
id = db.Column(db.Integer, primary_key=True) # primary keys are required by SQLAlchemy
68
email = db.Column(db.String(100), unique=True)
79
password = db.Column(db.String(100))
810
name = db.Column(db.String(1000))
11+
12+
class Contact(db.Model):
13+
id = db.Column(db.Integer, primary_key=True)
14+
name = db.Column(db.String(100))
15+
email = db.Column(db.String(100))
16+
subject = db.Column(db.String(100))
17+
message = db.Column(db.String(4096))
18+
createdAt = db.Column(db.DateTime())

0 commit comments

Comments
 (0)