示例#1
0
文件: views.py 项目: gmist/solostyle
def edit(key_id):
    contact = Contact.retrieve_by_id(key_id)
    if not contact:
        return redirect(url_for('contacts.admin.index'))
    if request.method == 'POST' and 'delete_contact' in request.form:
        contact.key.delete()
        return redirect(url_for('contacts.admin.index'))

    form = ContactForm(obj=contact)
    if contact.geo:
        form.latitude.data = contact.geo.lat
        form.longitude.data = contact.geo.lon
    if request.method == 'POST' and form.validate_on_submit():
        form.populate_obj(contact)
        if form.latitude.data and form.longitude.data:
            contact.geo = ndb.GeoPt(form.latitude.data, form.longitude.data)
        else:
            contact.geo = None
        contact.put()
        return redirect(url_for('contacts.admin.index'))
    return render_template(
        'contacts/admin/edit.html',
        form=form,
        contact=contact
    )
示例#2
0
文件: views.py 项目: gmist/solostyle
def index():
    form = ContactForm()
    if request.method == 'POST' and form.validate_on_submit():
        contact = Contact()
        form.populate_obj(contact)
        if form.latitude.data and form.longitude.data:
            contact.geo = ndb.GeoPt(form.latitude.data, form.longitude.data)
        contact.put()
        return redirect(url_for('contacts.admin.index'))
    contacts = Contact.query().order(-Contact.order_id)
    return render_template(
        'contacts/admin/index.html',
        form=form,
        contacts=contacts
    )