Advertisement
Guest User

weppy tutorial

a guest
Dec 14th, 2017
376
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.60 KB | None | 0 0
  1. from weppy import App, session, now
  2. from weppy.orm import Model, Field, belongs_to, has_many, Database
  3. from weppy.tools import Auth
  4. from weppy.tools.auth import AuthUser
  5.  
  6.  
  7. class User(AuthUser):
  8.     has_many('posts', 'comments')
  9.  
  10.  
  11. class Post(Model):
  12.     belongs_to('user')
  13.     has_many('comments')
  14.  
  15.     title = Field()
  16.     text = Field.text()
  17.     date = Field.datetime()
  18.  
  19.     default_values = {
  20.         'user': lambda: session.auth.user_id,
  21.         'date': lambda: now
  22.     }
  23.     validation = {
  24.         'title': {'presence': True},
  25.         'text': {'presence': True}
  26.     }
  27.     fields_rw = {
  28.         'user': False,
  29.         'date': False
  30.     }
  31.  
  32. class Comment(Model):
  33.     belonds_to('user', 'post')
  34.  
  35.     text = Field.text()
  36.     date = Field.datetime()
  37.  
  38.     default_values = {
  39.         'user': lambda: session.auth.user_id,
  40.         'date': lambda: now
  41.     }
  42.     validation = {
  43.         'text': {'presence': True}
  44.     }
  45.     field_rw = {
  46.         'user': False,
  47.         'post': False,
  48.         'date': False
  49.     }
  50.  
  51.  
  52. app = App(__name__)
  53. app.config.auth.single_template = True
  54. app.config.auth.registration_verification = True
  55. app.config.auth.hmac_key = "MassiveDynamicRules"
  56.  
  57. db = Database(app, auto_migrate=True)
  58. auth = Auth(app, db, user_model=User)
  59. db.define_models(Post, Comment)
  60.  
  61. @app.command('setup')
  62. def setup():
  63.     user = User.create(
  64.         email="walter@massivedynamics.com",
  65.         first_name="Walter",
  66.         last_name="Bishop",
  67.         password="pocketuniverse"
  68.     )
  69.     admins = auth.create_group("admin")
  70.     auth.add_membership(admins, user.id)
  71.     db.commit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement