Reputation: 139
i have code for form , i want to save the data through a form. custom form is :-
<form class="well span12 c1" name="contacts" method="POST">
<label>First Name</label>
<input type="text" placeholder="Your First Name" class="span12" required name="firstname" >
<label>Last Name</label>
<input type="text" placeholder="Your Last Name" class="span12" required name="lastname" >
<label>Email Address</label>
<input type="text" placeholder="Your email address" class="span12" required name="email" >
<label>Subject</label>
<select class="span12" name="subject" id="subject" required >
<option value="na" selected="">Choose One:</option>
<option value="service">General Customer Service</option>
<option value="suggestions">Suggestions</option>
<option value="product">Product Support</option>
</select>
<label>Message</label>
<textarea rows="8" class="input-xlarge span12" id="message" name="message" required ></textarea>
<button class="btn btn-primary pull-right" style="border-radius:0px;" type="submit">Send</button>
</form>
views.py :-
@app.route('/contact' , methods = ['GET' , 'POST' ])
def contact():
if request.method == 'POST':
user = user_email(firstname = request.form['firstname'] ,
lastname = request.form['lastname'],
email = request.form['email'],
subject = request.form['subject'],
message = request.form['message'])
user.save()
return render_template('index.html')
else:
return render_template('contact.html')
there is an error of AttributeError: 'Database' object has no attribute 'model'. Please help me to solve this problem.
Upvotes: 0
Views: 1960
Reputation: 139
<form class="well span12 c1" name="contacts" method="POST" action="{{ url_for('contact') }}">
<div class="row-fluid">
<div class="span6">
<label>First Name</label>
<input type="text" placeholder="Your First Name" class="span12" required name="firstname" >
<label>Last Name</label>
<input type="text" placeholder="Your Last Name" class="span12" required name="lastname" >
<label>Email Address</label>
<input type="text" placeholder="Your email address" class="span12" required name="email" >
<label>Subject</label>
<select class="span12" name="subject" id="subject" required >
<option value="na" selected="">Choose One:</option>
<option value="service">General Customer Service</option>
<option value="suggestions">Suggestions</option>
<option value="product">Product Support</option>
</select>
</div>
<div class="span6">
<label>Message</label>
<textarea rows="8" class="input-xlarge span12" id="message" name="message" required ></textarea>
</div>
<button class="btn btn-primary pull-right" style="border-radius:0px;" type="submit">Send</button>
</div>
</form>
Upvotes: 0
Reputation: 2649
Have you setup a database, and connected to it? It should look something like this:
# define a database connection
database = peewee.SqliteDatabase('my.db')
class BaseModel(peewee.Model):
class Meta:
# this is likely the missing part of your model
# you need to tell the model which database connection to use.
database = database
class User(BaseModel):
first_name = peewee.CharField()
last_name = peewee.CharField()
email = peewee.CharField()
subject = peewee.CharField()
message = peewee.CharField()
Upvotes: 2