def create_post():
post_data = {
'title': request.form.get('title'),
'content': request.form.get('content'),
}
post = Post()
post.set(post_data)
post = markdown(post)
upload_image = request.files.get('featured_image')
if upload_image.filename != '' and allowed_file(upload_image.filename):
f = Attachment(upload_image.filename, data=upload_image.stream)
post.set('featured_image', f)
post.save()
tag_names = request.form.get('tags').lower().strip()
tags = [get_tag_by_name(x) for x in split_tag_names(tag_names)]
map_tags_to_post(tags, post)
return redirect(url_for('show_post', post_id=post.id))
python类redirect()的实例源码
def index():
code = request.args.get("code", "")
#app.logger.debug("code:%s" %code)
#app.logger.debug(request.args)
if g.signin:
return "logged_in"
elif code:
_data = Get_Access_Token(code)
access_token = _data['access_token']
userData = Get_User_Info(access_token)
app.logger.debug(userData)
#resp = render_template('info.html', userData=userData)
#resp.set_cookie(key="logged_in", value='true', expires=None)
resp = jsonify(userData)
resp.set_cookie(key="logged_in", value='true', expires=None)
return resp
else:
return redirect(url_for("login"))
def index():
code = request.args.get("code", "")
#app.logger.debug("code:%s" %code)
#app.logger.debug(request.args)
if g.signin:
return "logged_in"
elif code:
_data = Get_Access_Token(code)
app.logger.debug(_data)
access_token = _data['access_token']
uid = _data['uid']
userData = Get_User_Info(access_token, uid)
app.logger.debug(userData)
#resp = render_template('info.html', userData=userData)
#resp.set_cookie(key="logged_in", value='true', expires=None)
resp = jsonify(userData)
resp.set_cookie(key="logged_in", value='true', expires=None)
return resp
else:
return redirect(url_for("login"))
def index():
code = request.args.get("code", "")
#app.logger.debug("code:%s" %code)
#app.logger.debug(request.args)
if g.signin:
return "logged_in"
elif code:
_data = Get_Access_Token(code)
access_token = _data['access_token']
openid = Get_OpenID(access_token)['openid']
userData = Get_User_Info(access_token, openid)
app.logger.debug(userData)
#resp = render_template('info.html', userData=userData)
#resp.set_cookie(key="logged_in", value='true', expires=None)
resp = jsonify(userData)
resp.set_cookie(key="logged_in", value='true', expires=None)
return resp
else:
return redirect(url_for("login"))
def index():
code = request.args.get("code", "")
#app.logger.debug("code:%s" %code)
#app.logger.debug(request.args)
if g.signin:
return "logged_in"
elif code:
_data = Get_Access_Token(code)
app.logger.debug(_data)
access_token = _data['access_token']
uid = _data['uid']
userData = Get_User_Info(access_token, uid)
app.logger.debug(userData)
#resp = render_template('info.html', userData=userData)
#resp.set_cookie(key="logged_in", value='true', expires=None)
resp = jsonify(userData)
resp.set_cookie(key="logged_in", value='true', expires=None)
return resp
else:
return redirect(url_for("login"))
def login():
if current_user.is_authenticated:
return redirect(url_for('index'))
form = LoginForm()
if not form.validate_on_submit():
status_code = Unauthorized.code if form.is_submitted() else 200
return render_template('login.html',
title='Login',
form=form,
User=User,
password_length={'min': TRACKER_PASSWORD_LENGTH_MIN,
'max': TRACKER_PASSWORD_LENGTH_MAX}), status_code
user = user_assign_new_token(form.user)
user.is_authenticated = True
login_user(user)
return redirect(url_for('index'))
def admin_login_required(method):
def is_admin(user):
if isinstance(user.is_admin, bool):
return user.is_admin
else:
return user.is_admin()
@functools.wraps(method)
def wrapper(*args, **kwargs):
if not current_user.is_authenticated:
flash("This section is for logged in users only.", 'warning')
return redirect(url_for('redberry.home'))
if not hasattr(current_user, 'is_admin'):
flash("Redberry expects your user instance to implement an `is_admin` boolean attribute "
"or an `is_admin()` method.", 'warning')
return redirect(url_for('redberry.home'))
if not is_admin(current_user):
flash("This section is for admin users only.", 'warning')
return redirect(url_for('redberry.home'))
return method(*args, **kwargs)
return wrapper
############
# CMS ROUTES
############
def show_post(slug):
from redberry.models import RedPost
post = RedPost.query.filter_by(slug=slug).first()
if not post:
flash("Post not found!", 'danger')
return redirect(url_for('redberry.home'))
return render_redberry('redberry/post.html', post=post)
def show_category(category_slug):
from redberry.models import RedCategory
category = RedCategory.query.filter_by(slug=category_slug).first()
if not category:
flash("Category not found!", 'danger')
return redirect(url_for('redberry.home'))
return render_redberry('redberry/category.html', category=category)
def new_record(model_name):
from redberry.models import RedCategory, RedPost
from redberry.forms import CategoryForm, PostForm
if model_name == 'category':
form = CategoryForm()
new_record = RedCategory()
elif model_name == 'post':
form = PostForm()
new_record = RedPost()
# Convert category ids into objects for saving in the relationship.
if form.categories.data:
form.categories.data = RedCategory.query.filter(RedCategory.id.in_(form.categories.data)).all()
form.categories.choices = [(c, c.title) for c in RedCategory.sorted()]
else:
form.categories.choices = [(c.id, c.title) for c in RedCategory.sorted()]
if form.validate_on_submit():
form.populate_obj(new_record)
cms.config['db'].session.add(new_record)
cms.config['db'].session.flush()
build_sitemap()
flash("Saved %s %s" % (model_name, new_record.id), 'success')
return redirect(url_for('redberry.admin', model_name=model_name))
return render_template('redberry/admin/form.html', form=form, model_name=model_name)
def dev_login(user_id):
if ENVIRONMENT == 'dev':
login_user(db.session.query(User).get(user_id))
return redirect(url_for('index'))
def logout():
logout_user()
return flask.redirect(flask.url_for('index'))
def post(self):
dockletRequest.post('/cloud/account/add/', request.form)
return redirect('/cloud/')
def post(self):
data = {
'cloudname' : self.cloudname,
}
dockletRequest.post('/cloud/account/delete/', data)
return redirect('/cloud/')
def post(self):
dockletRequest.post('/cloud/account/modify/', request.form)
return redirect('/cloud/')
def get(self):
if is_authenticated():
refreshInfo()
return redirect(request.args.get('next',None) or '/dashboard/')
if (env.getenv('EXTERNAL_LOGIN') == 'True'):
url = external_generate.external_login_url
link = external_generate.external_login_link
else:
link = ''
url = ''
return render_template(self.template_path, link = link, url = url, open_registry=self.open_registry)
def login_required(func):
@wraps(func)
def wrapper(*args, **kwargs):
if request.method == 'POST' :
if not is_authenticated():
abort(401)
else:
return func(*args, **kwargs)
else:
if not is_authenticated():
return redirect("/login/" + "?next=" + request.path)
else:
return func(*args, **kwargs)
return wrapper
def post(self):
form = dict(request.form)
if (request.form.get('username') == None or request.form.get('password') == None or request.form.get('password') != request.form.get('password2') or request.form.get('email') == None or request.form.get('description') == None):
abort(500)
result = dockletRequest.unauthorizedpost('/register/', form)
return redirect("/login/")
def post(self):
data = {"number":request.form["number"],"reason":request.form["reason"]}
result = dockletRequest.post('/beans/apply/',data)
success = result.get("success")
if success == "true":
return redirect("/beans/application/")
else:
return self.render(self.template_path, message = result.get("message"))
def post(cls):
dockletRequest.post('/notification/create/', request.form)
# return redirect('/admin/')
return redirect('/notification/')