Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #This is the endpoint. It feeds fullcalendar.js
- @mod.route('/event_data_endpoint')
- def event_data_endpoint():
- events = Events.query.filter_by(approved=True).all()
- return json.dumps(Events.serialize_list(events))
- #Serializer modified from a Stack Exchange post :)
- class Serializer(object):
- def serialize(self):
- return {c: getattr(self, c) for c in inspect(self).attrs.keys() if c is not 'rsvps'}
- @staticmethod
- def serialize_list(l):
- return [m.serialize() for m in l]
- #The Event model
- class Events(db.Model, Serializer):
- id = db.Column(db.Integer, primary_key=True)
- title = db.Column(db.String(120))
- location = db.Column(db.String(120))
- start = db.Column(db.DateTime)
- url = db.Column(db.String())
- additional_information = db.Column(db.String())
- category = db.Column(db.String(120))
- color = db.Column(db.String(30))
- submitted_by = db.ForeignKey('user.id')
- approved = db.Column(db.Boolean, default=False)
- rsvps = db.relationship('RSVP',
- backref='events',
- lazy='dynamic',
- cascade='all, delete-orphan')
- def __repr__(self):
- return str(self.title)
- def serialize(self):
- d = Serializer.serialize(self)
- return d
- #Events added like this:
- event=Events(title = form.title.data,
- location = form.location.data,
- start = form.start.data,
- url = form.url.data,
- additional_information = form.additional_information.data,
- color='red',
- submitted_by=current_user.id)
- db.session.add(event)
- db.session.commit()
- #Database config
- if os.environ.get('DATABASE_URL') is None:
- SQLALCHEMY_DATABASE_URI = "mysql+pymysql://{username}:{password}@{hostname}/{database}".format(
- username='username',
- password='password',
- hostname='example.mysql.pythonanywhere-services.com',
- database='example$default',
- )
- SQLALCHEMY_POOL_RECYCLE = 299
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement