def index(): form = NameForm() if form.validate_on_submit(): #如果查询数据库,没有该用户名则返回None,如果用则返回用户名 <Role u'用户名'> user = User.query.filter_by(username=form.name.data).first() #如果用户名不存在 if user is None: user = User(username=form.name.data) db.session.add(user) #添加用户到时数据库(注: 这里没有提交) session['known'] = False #用户名存在 else: session['known'] = True session['name'] = form.name.data form.name.data = '' return redirect(url_for('index')) return render_template('index.html', form=form, name=session.get('name'), known=session.get('known', False))
def adduser(): form = UserForm() if form.validate_on_submit(): fn = request.form['first_name'] ln = request.form['last_name'] new_user = User(id=request.form['UID'], name=fn + ' ' + ln, first_name=fn, last_name=ln, url=request.form['URL'], in_out=False, active=True) for role in Role.query.all(): if request.form.get(role.name): new_user.roles.append(get_role(role.name)) db.session.add(new_user) db.session.commit() return redirect(url_for('admin.userlist')) flash_errors(form) return render_template('admin/adduser.html', title=app.config['BASE_HTML_TITLE'], edit_mode=False, add_mode=True, roles=Role.query.all(), form=form)
def index(): form = NameForm() if form.validate_on_submit(): user = User.query.filter_by(username=form.name.data).first() if user is None: user = User(username=form.name.data) db.session.add(user) session['known'] = False #每当表单接收新名字时,程序都会给管理员发送一封电子邮件 if app.config['FLASKY_ADMIN']: send_email(app.config['FLASKY_ADMIN'], 'New User', 'mail/new_user', user=user) #'mail/new_user'的意思是这个目录下: templates/mail/new_user[.txt|.html] 文件 else: session['known'] = True session['name'] = form.name.data form.name.data = '' return redirect(url_for('index')) return render_template('index.html', form=form, name=session.get('name'), known=session.get('known', False))
def createUser(login_session): newUser = User(name=login_session['username'], email=login_session['email'], image=login_session['picture']) session.add(newUser) session.commit() user = session.query(User).filter_by(email=login_session['email']).one() return user.id
def index(): form = NameForm() if form.validate_on_submit(): user = User.query.filter_by(username=form.name.data).first() if user is None: user = User(username=form.name.data) db.session.add(user) session['known'] = False else: session['known'] = True session['name'] = form.name.data form.name.data = '' return redirect(url_for('index')) return render_template('index.html', form=form, name=session.get('name'), known=session.get('known', False))
#!/usr/bin/env python #encoding:utf8 #author: linuxhub.org #加载数据库配置脚本 from db_config import db from db_config import Role, User username = '******' #查询该用户是否存在 #没有该用户返回 None,有该用户名返回 <Role u'用户名'> user = User.query.filter_by(username=username).first() if user is None: print "用户名不存在" print "向数据库添加用户名" user = User(username=username) db.session.add(user) #添加用户到时数据库(注: 这里没有提交) #db.session.commit() #提交 else: print "用户名存在." #再看看用户是否存在 user = User.query.filter_by(username=username).first() print user.username
#加载数据库配置脚本 from db_config import db from db_config import Role, User db.drop_all() #删除数据库 db.create_all() #创建数据库 #创建表数据 #用户角色 admin_role = Role(name='Admin') mod_role = Role(name='Moderator') user_role = Role(name='User') #用户名 user_john = User(username='******', role=admin_role) user_susan = User(username='******', role=user_role) user_david = User(username='******', role=user_role) if __name__ == '__main__': #入库前,先添加到会话中 db.session.add(admin_role) db.session.add(mod_role) db.session.add(user_john) db.session.add(user_susan) db.session.add(user_david) #提交会话 db.session.commit()
# Bind the engine to the metadata of the Base class so that the # declaratives can be accessed through a DBSession instance Base.metadata.bind = engine DBSession = sessionmaker(bind=engine) # A DBSession() instance establishes all conversations with the database # and represents a "staging zone" for all the objects loaded into the # database session object. Any change made against the objects in the # session won't be persisted into the database until you call # session.commit(). If you're not happy about the changes, you can # revert all of them back to the last commit by calling # session.rollback() session = DBSession() # Create dummy user User1 = User(name="I Robot", email="", image='') session.add(User1) session.commit() # Create starting starships starship1 = Starships(user_id=1, name="USS Enterprise", description="""Fisrt ship on the series, commanded by Pyke and Kirk. Has Spock.""", category="NCC-1701") session.add(starship1) session.commit() starship2 = Starships(user_id=1,