Python flask 模块,render_template() 实例源码

我们从Python开源项目中,提取了以下49个代码示例,用于说明如何使用flask.render_template()

项目:stalkerGKSU    作者:zense    | 项目源码 | 文件源码
def query():
    if(request.method == 'POST'):
        organisation = request.form['organisation']
        email_address = request.form['email_address']
        filename = organisation + ".html"
        info = db.session.query(User.github_username, User.name).filter_by(organisation = organisation).all()
        if(info == []):
            job = q.enqueue_call(
                func="main.save_info", args=(organisation, email_address, ), result_ttl=5000, timeout=600
            )
            flash("We shall notify you at " + email_address + " when the processing is complete")
        else:
            lists = []
            for i in info:
                lists.append([str(i.github_username), str(i.name)])
            get_nodes.creating_objs(lists, organisation)
            return render_template(filename, organisation=str(organisation)+'.json')
    return render_template('query.html')
项目:aws-greengrass-mini-fulfillment    作者:awslabs    | 项目源码 | 文件源码
def dashboard():
    topic_dict = dict()
    if '/convey/stages' in topic_cache:
        topic_dict['/convey/stages'] = topic_cache['/convey/stages']
    else:
        topic_dict['/convey/stages'] = "Empty Cache"

    if '/sortarm/stages' in topic_cache:
        topic_dict['/sortarm/stages'] = topic_cache['/sortarm/stages']
    else:
        topic_dict['/sortarm/stages'] = "Empty Cache"

    if '/invarm/stages' in topic_cache:
        topic_dict['/invarm/stages'] = topic_cache['/invarm/stages']
    else:
        topic_dict['/invarm/stages'] = "Empty Cache"

    return render_template('topic.html', topic_dict=topic_dict)
项目:tweet-analysis    作者:D4D3VD4V3    | 项目源码 | 文件源码
def twittercallback():
    verification = request.args["oauth_verifier"]
    auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
    try:
        auth.request_token = session["request_token"]
    except KeyError:
        flash("Please login again", "danger")
        return redirect(url_for("bp.home"))

    try:
        auth.get_access_token(verification)
    except tweepy.TweepError:
        flash("Failed to get access token", "danger")
        return redirect(url_for("bp.home"))

    session["access_token"] = auth.access_token
    session["access_token_secret"] = auth.access_token_secret

    return render_template("twittercallback.html", form=HashtagForm())
项目:supervising-ui    作者:USCDataScience    | 项目源码 | 文件源码
def webpage():
    url = request.args.get('url')
    if not url:
        # redirect with url query param so that user can navigate back later
        next_rec = service.get_next_unlabelled()
        if next_rec:
            return redirect("/?url=%s" % (urllib.quote(next_rec['url'])))
        else:
            featured_content = "No Unlabelled Record Found."
    else:
        featured_content = get_next(url)
    data = {
        'featured_content': featured_content,
        'status': service.overall_status()
    }
    return render_template('index.html', **data)
项目:margy    作者:opentower    | 项目源码 | 文件源码
def add():
    if request.method == 'POST':
        if request.form['submit'] == 'Add':
            addr = request.form['addr'].lstrip().rstrip()
            f = io.open('blastlist.txt', 'a', encoding="utf-8")
            f.write(addr.decode('utf-8') + u'\r\n')
            f.close()
            return render_template('listadded.html',addr=addr)
        elif request.form['submit'] == 'Remove':
            addr = request.form['addr'].lstrip().rstrip()
            f = io.open('blastlist.txt', 'r', encoding="utf-8")
            lines = f.readlines()
            f.close()
            f = io.open('blastlist.txt', 'w', encoding="utf-8")
            for line in lines:
                if addr not in line:
                    f.write(line.decode('utf-8'))
            f.close()
            return render_template('listremoved.html',addr=addr)
项目:ELO-Darts    作者:pwgraham91    | 项目源码 | 文件源码
def get_profile(user_id):

    session = db.session

    user, results = get_profile_data(session, user_id)

    user_games = session.query(Game).filter(
        sqla.or_(
            Game.winner_id == user_id,
            Game.loser_id == user_id,
        ),
        Game.deleted_at.is_(None)
    ).order_by(Game.created_at).all()

    return flask.render_template('user.html',
                                 title=user.name,
                                 user=user,
                                 results=results,
                                 auth_url=get_google_authorization_url(),
                                 user_games=[game_dict(session, game) for game in user_games],
                                 active_users=get_active_users(session)  # used in base for 'Add Game'
                                 )
项目:flask    作者:ljxxcaijing    | 项目源码 | 文件源码
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)
        else:
            session['known'] = True
        session['name'] = form.name.data
        from.name.data = ''
        return redirect(url_for('index'))
    return render_template('index.html', form=form, name=session.get('name'),
                           known=session.get('known', False))
项目:docklet    作者:unias    | 项目源码 | 文件源码
def internal_server_error(error):
    logger.error(error)
    logger.error(traceback.format_exc())
    if "username" in session:
        if "500" in session and "500_title" in session:
            reason = session['500']
            title = session['500_title']
            session.pop('500', None)
            session.pop('500_title', None)
        else:
            reason = '''The server encountered something unexpected that didn't allow it to complete the request. We apologize.You can go back to
<a href="/dashboard/">dashboard</a> or <a href="/logout">log out</a>'''
            title = 'Internal Server Error'
        return render_template('error/500.html', mysession = session, reason = reason, title = title)
    else:
        return redirect('/login/')
项目:nweb    作者:pierce403    | 项目源码 | 文件源码
def search():
  q = request.args.get('q')
  if not q:
    q=''
  f = request.args.get('f')
  try:
    p = int(request.args.get('p'))
  except:
    p = 0

  try:
    fmt=request.args.get('f')
    print(fmt)
  except:
    fmt=""

  count,context = nweb.search(q,100,100*int(str(p)))

  # what kind of output are we looking for?
  if fmt == 'hostlist':
    print("printing hostlist because "+fmt)
    return render_template("hostlist.html",query=q, numresults=count, page=p, hosts=context)

  # default output (a pretty webpage)
  return render_template("search2.html",query=q, numresults=count, page=p, hosts=context)
项目:loggingnight    作者:kdknigga    | 项目源码 | 文件源码
def index():
    icao_identifier = request.args.get('airport')

    try:
        date = dateparser.parse(request.args.get('date', datetime.date.today().isoformat())).date()
    except ValueError:
        date = datetime.date.today()

    if icao_identifier:
        try:
            result = do_lookup(icao_identifier, date)
        except Exception as e:
            result = {'airport': icao_identifier,
                      'date': date.isoformat(),
                      'error': str(e)}
            return render_template('index.html', dev_mode=dev_mode, result=result), 400
    else:
        result = None

    return render_template('index.html', dev_mode=dev_mode, result=result)
项目:OMW    作者:globalwordnet    | 项目源码 | 文件源码
def login():
    """ This login function checks if the username & password
    match the admin.db; if the authentication is successful,
    it passes the id of the user into login_user() """

    if request.method == "POST" and \
       "username" in request.form and \
       "password" in request.form:
        username = request.form["username"]
        password = request.form["password"]

        user = User.get(username)

        # If we found a user based on username then compare that the submitted
        # password matches the password in the database. The password is stored
        # is a slated hash format, so you must hash the password before comparing it.
        if user and hash_pass(password) == user.password:
            login_user(user, remember=True)
            # FIXME! Get this to work properly...
            # return redirect(request.args.get("next") or url_for("index"))
            return redirect(url_for("index"))
        else:
            flash(u"Invalid username, please try again.")
    return render_template("login.html")
项目:OMW    作者:globalwordnet    | 项目源码 | 文件源码
def min_omw_concepts(ss=None, ili_id=None):

    if ili_id:
        ss_ids = f_ss_id_by_ili_id(ili_id)
    else:
        ss_ids = [ss]

    pos = fetch_pos()
    langs_id, langs_code = fetch_langs()
    ss, senses, defs, exes, links = fetch_ss_basic(ss_ids)
    ssrels = fetch_ssrel()

    return jsonify(result=render_template('min_omw_concept.html',
                           pos = pos,
                           langs = langs_id,
                           senses=senses,
                           ss=ss,
                           links=links,
                           ssrels=ssrels,
                           defs=defs,
                           exes=exes))
项目:OMW    作者:globalwordnet    | 项目源码 | 文件源码
def omw_welcome(name=None):
    lang_id, lang_code = fetch_langs()
    src_meta=fetch_src_meta()
    ### sort by language, project version (Newest first)
    src_sort=od()
    keys=list(src_meta.keys())
    keys.sort(key=lambda x: src_meta[x]['version'],reverse=True)
    keys.sort(key=lambda x: src_meta[x]['id'])
    keys.sort(key=lambda x: lang_id[lang_code['code'][src_meta[x]['language']]][1])
    for k in keys:
        src_sort[k] =  src_meta[k]
    return render_template('omw_welcome.html',
                           src_meta=src_sort,
                           lang_id=lang_id,
                           lang_code=lang_code,
                           licenses=licenses)
项目:OMW    作者:globalwordnet    | 项目源码 | 文件源码
def search_ili(q=None):

    if q:
        query = q
    else:
        query = request.form['query']

    src_id = fetch_src()
    kind_id = fetch_kind()
    status_id = fetch_status()

    ili = dict()
    for c in query_omw("""SELECT * FROM ili WHERE def GLOB ?
                         """, [query]):
        ili[c['id']] = (kind_id[c['kind_id']], c['def'],
                        src_id[c['origin_src_id']], c['src_key'],
                        status_id[c['status_id']], c['superseded_by_id'],
                             c['t'])


    rsumm, up_who, down_who = f_rate_summary(list(ili.keys()))
    return render_template('concept-list.html', ili=ili,
                           rsumm=rsumm, up_who=up_who, down_who=down_who)
项目:OMW    作者:globalwordnet    | 项目源码 | 文件源码
def omw_sense(sID=None):
    langs_id, langs_code = fetch_langs()
    pos = fetch_pos()
    sense =  fetch_sense(sID)
    forms=fetch_forms(sense[3])
    selected_lang = request.cookies.get('selected_lang')
    labels= fetch_labels(selected_lang,[sense[4]])
    src_meta= fetch_src_meta()
    src_sid=fetch_src_for_s_id([sID])
    return render_template('omw_sense.html',
                           s_id = sID,
                           sense = sense,
                           forms=forms,
                           langs = langs_id,
                           pos = pos,
                           labels = labels,
                           src_sid = src_sid,
                           src_meta = src_meta)


# URIs FOR ORIGINAL CONCEPT KEYS, BY INDIVIDUAL SOURCES
项目:OMW    作者:globalwordnet    | 项目源码 | 文件源码
def omw_wn(src=None):
    if src:
        try:
            proj = src[:src.index('-')]
            ver  = src[src.index('-')+1:]
            src_id = f_src_id_by_proj_ver(proj, ver)
        except:
            src_id = None
        srcs_meta = fetch_src_meta()
        src_info = srcs_meta[src_id]

    return render_template('omw_wn.html',
                           wn = src,
                           src_id=src_id,
                           src_info=src_info,
                           ssrel_stats=fetch_ssrel_stats(src_id),
                           pos_stats= fetch_src_id_pos_stats(src_id),
                           src_stats=fetch_src_id_stats(src_id),
                           licenses=licenses)
项目:OMW    作者:globalwordnet    | 项目源码 | 文件源码
def omw_wn_latex(src=None):
    if src:
        try:
            proj = src[:src.index('-')]
            ver  = src[src.index('-')+1:]
            src_id = f_src_id_by_proj_ver(proj, ver)
        except:
            src_id = None
        srcs_meta = fetch_src_meta()
        src_info = srcs_meta[src_id]

    return render_template('omw_wn_latex.html',
                           wn = src,
                           src_id=src_id,
                           src_info=src_info,
                           ssrel_stats=fetch_ssrel_stats(src_id),
                           pos_stats= fetch_src_id_pos_stats(src_id),
                           src_stats=fetch_src_id_stats(src_id))
项目:zappa-bittorrent-tracker    作者:Miserlou    | 项目源码 | 文件源码
def home():
    """
    Homepage. Nothing here yet.
    Could do some stats if we wanted.
    """

    all_items = get_all_items()
    items = []
    for item in all_items:
        items.append({
            'info_hash': item['info_hash'],
            'peers': len(item['peers']),
            'completed': item['completed']
        })

    return render_template('index.html', items=items)
项目:coms4156_jumpstart    作者:keirl    | 项目源码 | 文件源码
def main_teacher():
    tm = teachers_model.Teachers(flask.session['id'])

    if request.method == 'POST':
        cm = courses_model.Courses()
        if "close" in request.form.keys():
            cid = request.form["close"]
            cm.cid = cid
            cm.close_session(cm.get_active_session())
        elif "open" in request.form.keys():
            cid = request.form["open"]
            cm.cid = cid
            cm.open_session()

    courses = tm.get_courses_with_session()
    empty = True if len(courses) == 0 else False
    context = dict(data=courses)
    return render_template('main_teacher.html', empty=empty, **context)
项目:apiTest    作者:wuranxu    | 项目源码 | 文件源码
def login():
    db = UserDb(app.config['LOCAL_DB'])
    form = request.form
    user = form.get('user')
    pwd = form.get('pwd')
    password = db.login(user)
    del db
    if pwd == password:
        # ??????
        session.permanent = True
        # session????
        app.permanent_session_lifetime = timedelta(minutes=30)
        session.update(dict(user=user))
        return render_template('index.html')
    elif password is None:
        return render_template('login.html', info="??????!")
    else:
        return render_template('login.html', info="?????!")
项目:BackManager    作者:linuxyan    | 项目源码 | 文件源码
def upuser(userid):
    if current_user.id == userid or current_user.role == '0':
        form = UserEditForm()
        if form.validate_on_submit():
            user = users.query.filter_by(id=userid).first()
            if user is not None and user.verify_password(form.oldpassword.data):
                user.password = form.password.data
                db.session.add(user)
                db.session.commit()
                flash(u'??????!')
                return render_template('useredit.html',form=form)

        user = users.query.filter_by(id=userid).first()
        form.username.data = user.username
        form.name.data = user.name
        return render_template('useredit.html',form=form)
    else:
        abort(403)
项目:BackManager    作者:linuxyan    | 项目源码 | 文件源码
def customer():
    if request.method == 'POST':
        try:
            customer_id = request.form['customer_id']
            customer_oper = request.form['customer_oper']
            customer = customers.query.filter_by(id=customer_id).first()
            if customer_oper == 'stop_back':
                customer.customers_status = 1
            else:
                customer.customers_status = 0
            db.session.add(customer)
            db.session.commit()
            return u"???????"
        except Exception, e:
            print e
            return u"???????"
    else:
        customer_all = customers.query.all()
        return render_template('customers.html',customers=customer_all)
项目:tweet-analysis    作者:D4D3VD4V3    | 项目源码 | 文件源码
def create_app():
    app = Flask(__name__)
    app.config.from_object(config_dict[FLASK_CONFIGURATION])
    app.secret_key = secret_key
    Bootstrap(app)
    assets = Environment(app)
    js_files = Bundle('justgage.js', 'raphael-2.1.4.min.js', filters='rjsmin', output='gen/minified.js')
    assets.register('js_files', js_files)
    nav.init_app(app)
    from .blueprints import bp
    app.register_blueprint(bp)
    global celery
    celery = make_celery(app)

    @app.errorhandler(404)
    def fournotfour(_):
        return render_template("404page.html"), 404

    @app.errorhandler(500)
    def fivezerozero(_):
        return render_template("500page.html"), 500
    return app
项目:dodscp    作者:seancallaway    | 项目源码 | 文件源码
def changepass():
    if request.method == 'POST':
        # process password change
        if request.form['pass1'] == request.form['pass2']:
            change_password(session['username'], request.form['pass1'])
            log_action(session['uid'], 8)
            session.pop('logged_in', None)
            session.pop('uid', None)
            session.pop('priv', None)
            session.pop('username', None)
            flash('Your password has been changed. Please login using your new password.')
            return redirect(url_for('home'))
        else:
            flash('The passwords you entered do not match. Please try again.')
            return render_template('changepass.html')
    return render_template('changepass.html')

#
# EDIT USER PAGE
#
项目:dodscp    作者:seancallaway    | 项目源码 | 文件源码
def adduser():
    if request.method == 'POST':
        if request.form['pass1'] == request.form['pass2']:
            if user_exists(request.form['username']) == False:
                # create the user
                admin = 0
                if request.form['status'] == 'admin':
                    admin = 1
                create_user(request.form['username'], request.form['pass1'], admin)
                log_action(session['uid'], 10)
                flash(request.form['username'] + ' has been created.')
                return render_template('adduser.html', acp=session['priv'], username=session['username'])
            else:
                flash('The username you entered is already in use.')
                return render_template('adduser.html', acp=session['priv'], username=session['username'])
        else:
            flash('The passwords you entered do not match. Please try again.')
            return render_template('adduser.html', acp=session['priv'], username=session['username'])
    return render_template('adduser.html', acp=session['priv'], username=session['username'])
项目:PimuxBot    作者:Finn10111    | 项目源码 | 文件源码
def index():
    if request.args.get('code'):
        unlock_code = request.args.get('code')
        # unlock, new password
        re = s.query(RecoveryEmail).filter(RecoveryEmail.password_code==unlock_code).one_or_none()
        if re:
            jid = re.jid
            re.password_code = None
            s.merge(re)
            s.commit()
            # set new password and send email
            email_address = re.email
            password = ''.join(random.SystemRandom().choice(string.ascii_lowercase + string.ascii_uppercase + string.digits) for _ in range(10))
            p = subprocess.Popen(['/usr/bin/prosodyctl', 'passwd', jid], stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.STDOUT)
            args = bytes("%s\n%s\n" % (password, password), encoding='utf8')
            p.communicate(args)
            sendMail(email_address, 'new password', password)
            content = render_template('success.html', message='password was sent')
        else:
            content = render_template('error.html', message='link invalid')
    else:
        content = render_template('index.html')
    return content
项目:benchmarks    作者:tensorflow    | 项目源码 | 文件源码
def index(pattern=None):
  """Renders index.html page with a list of benchmarks."""
  filter_regex = None
  if pattern:
    filter_regex = re.compile(urllib.parse.unquote(pattern))
  min_time_to_lookup = datetime.now() - timedelta(days=_MAX_DAYS_WITHOUT_RUN)

  client = datastore.Client()
  query = client.query(kind='Test')
  query.add_filter('start', '>', min_time_to_lookup)

  fetched = list(query.fetch())
  test_names = {}  # maps test name to encoded test name
  for fetched_result in fetched:
    if fetched_result['test'] in test_names:
      continue  # already added
    if not filter_regex or re.search(pattern, fetched_result['test']):
      test_names[fetched_result['test']] = urllib.parse.quote(
          fetched_result['test'], safe='')

  # convert test_names to list and sort
  test_names = sorted(test_names.items(), key=itemgetter(1), reverse=True)

  return render_template('index.html', tests=test_names)
项目:aniping    作者:kuruoujou    | 项目源码 | 文件源码
def index():
    """Primary index function.

    This function handles searching and the main page. If ``q`` is passed in a query
    string, e.g. ``http://localhost?q=gabriel+dropout``, then a search will be performed.

    If request path is ``search``, e.g. ``http://localhost/search``, then the navigation
    menu will not be rendered.

    Should there be no shows returned from the backend, ``front_end.do_first_time_setup``
    will be called to scrape shows from the source.

    Returns:
        A rendered template, either ``first_time.html`` for the first run or ``default.html`` otherwise.
    """
    log.debug("Entering index, attempting to get shows.")
    watching, airing, specials, movies = fe.get_shows_for_display(request.args.get('q',None))
    standalone = True if request.path.strip('/') == 'search' else False
    logged_in = fe.check_login_id(escape(session['logged_in'])) if 'logged_in' in session else False
    if not watching and not airing and not specials and not movies:
        log.debug("No shows found in any category. Starting first time startup.")
        fe.do_first_time_setup()
        return render_template('first_time.html', logged_in=logged_in)
    return render_template('default.html', watching=watching, airing=airing, specials=specials, movies=movies, standalone=standalone, logged_in=logged_in)
项目:Flask_Blog    作者:sugarguo    | 项目源码 | 文件源码
def index():
    site_info = site_get()
    article_id = request.args.get('article_id',0)
    article_dict = []
    temp_dict = {}
    packet_dict = {}
    packet_list = Packet.query.filter_by().all()
    if packet_list is not None:
        for temp in packet_list:
            temp_dict = temp.__dict__
            del temp_dict["_sa_instance_state"]
            packet_dict[str(temp_dict['id'])] = temp_dict['packet_name']

    tempdict = {}
    article_list = Article.query.filter_by(show = 1).all()
    if article_list is not None:
        for temp in article_list:
            tempdict = temp.__dict__
            article_dict.append([tempdict["id"],tempdict["title"],tempdict["timestamp"].strftime('%Y-%m-%d'),tempdict["body"][:150]])

    return render_template('index.html', **locals())
项目:Flask_Blog    作者:sugarguo    | 项目源码 | 文件源码
def article():
    site_info = site_get()
    article_id = request.args.get('article_id',0)

    if article_id != 0:
        article = Article.query.filter_by(id = article_id).first()
        if article is not None:
            article = article.__dict__
            article_id = article['id']
            title = article['title']
            packet_id = article['packet_id']
            show = article['show']
            timestamp = article['timestamp']
            body = article['body'][:-1]
    else:
        return redirect(url_for('main.index'))

    return render_template('article.html', **locals())
项目:Flask_Blog    作者:sugarguo    | 项目源码 | 文件源码
def edit():
    site_info = site_get()
    article_id = request.args.get('article_id',0)
    temp_dict = {}
    packet_dict = {}
    packet_list = Packet.query.filter_by().all()
    if packet_list is not None:
        for temp in packet_list:
            temp_dict = temp.__dict__
            del temp_dict["_sa_instance_state"]
            packet_dict[str(temp_dict['id'])] = temp_dict['packet_name']
            #packet_dict = dict( packet_dict.items() + tempdict.items() )

    if article_id != 0:
        article = Article.query.filter_by(id = article_id).first()
        #print article
        if article is not None:
            article = article.__dict__
            title = article['title']
            packet_id = article['packet_id']
            show = article['show']
            body = article['body']

    return render_template('admin/edit.html', **locals())
项目:Flask_Blog    作者:sugarguo    | 项目源码 | 文件源码
def outputjson():
    site_info = site_get()
    tempdict = {}
    tempjson = "["
    info_list = Article.query.filter_by().all()
    for item in info_list:
        tempdict = item.__dict__
        del tempdict["_sa_instance_state"]
        value = json.dumps(tempdict,cls=CJsonEncoder)
        tempjson += value + ",\n"
    tempjson = tempjson[:-2] + "]"

    filename = 'page_list_'+str(time.strftime("%Y%m%d"))+'.txt'  
    output = open(filename,'w')  
    output.write(tempjson)  
    output.close()  

    flash(u'?????????????')
    return render_template('admin/output.html', **locals())
项目:Flask_Blog    作者:sugarguo    | 项目源码 | 文件源码
def test_escaping(self):
        text = '<p>Hello World!'
        app = flask.Flask(__name__)
        @app.route('/')
        def index():
            return flask.render_template('escaping_template.html', text=text,
                                         html=flask.Markup(text))
        lines = app.test_client().get('/').data.splitlines()
        self.assert_equal(lines, [
            b'&lt;p&gt;Hello World!',
            b'<p>Hello World!',
            b'<p>Hello World!',
            b'<p>Hello World!',
            b'&lt;p&gt;Hello World!',
            b'<p>Hello World!'
        ])
项目:Flask_Blog    作者:sugarguo    | 项目源码 | 文件源码
def test_template_rendered(self):
        app = flask.Flask(__name__)

        @app.route('/')
        def index():
            return flask.render_template('simple_template.html', whiskey=42)

        recorded = []
        def record(sender, template, context):
            recorded.append((template, context))

        flask.template_rendered.connect(record, app)
        try:
            app.test_client().get('/')
            self.assert_equal(len(recorded), 1)
            template, context = recorded[0]
            self.assert_equal(template.name, 'simple_template.html')
            self.assert_equal(context['whiskey'], 42)
        finally:
            flask.template_rendered.disconnect(record, app)
项目:Flask_Blog    作者:sugarguo    | 项目源码 | 文件源码
def test_memory_consumption(self):
        app = flask.Flask(__name__)
        @app.route('/')
        def index():
            return flask.render_template('simple_template.html', whiskey=42)

        def fire():
            with app.test_client() as c:
                rv = c.get('/')
                self.assert_equal(rv.status_code, 200)
                self.assert_equal(rv.data, b'<h1>42</h1>')

        # Trigger caches
        fire()

        # This test only works on CPython 2.7.
        if sys.version_info >= (2, 7) and \
                not hasattr(sys, 'pypy_translation_info'):
            with self.assert_no_leak():
                for x in range(10):
                    fire()
项目:margy    作者:opentower    | 项目源码 | 文件源码
def home():
    return render_template('home.html')
项目:margy    作者:opentower    | 项目源码 | 文件源码
def newletter():
    return render_template('upload.html')
项目:margy    作者:opentower    | 项目源码 | 文件源码
def deliver():
    return render_template('deliver.html')
项目:margy    作者:opentower    | 项目源码 | 文件源码
def too_big(error):
    return render_template('toobig.html'), 413
项目:margy    作者:opentower    | 项目源码 | 文件源码
def instructions():
    return render_template('quick.html')
项目:margy    作者:opentower    | 项目源码 | 文件源码
def questions():
    return render_template('faq.html')
项目:margy    作者:opentower    | 项目源码 | 文件源码
def whitelist():
    with io.open('static/whitelist.txt', 'r', encoding="utf-8") as f: #gets the contents of whitelist.txt so they can be displayed
        data = f.read().replace('@', ' [at] ').replace('.', ' [dot] ')
    return render_template('whitelist.html',data=data)
项目:margy    作者:opentower    | 项目源码 | 文件源码
def thanks():
    return render_template('thanks.html')
项目:margy    作者:opentower    | 项目源码 | 文件源码
def credits():
    return render_template('credits.html')
项目:margy    作者:opentower    | 项目源码 | 文件源码
def unsubscribe(email):
    return render_template('unsubscribe.html',email=email)
项目:margy    作者:opentower    | 项目源码 | 文件源码
def admin():
    return render_template('admin.html')
项目:margy    作者:opentower    | 项目源码 | 文件源码
def tail():
    if request.method == 'POST':
        fi = request.form['file']
        if os.path.isfile(fi):
            n = int(request.form['n'])
            le = io.open(fi, 'r', encoding='utf-8')
            taildata = le.read()[-n:]
            le.close()
        else:
            taildata = "No such file."
        return render_template('tail.html',taildata=taildata)
项目:margy    作者:opentower    | 项目源码 | 文件源码
def wladd():
    if request.method == 'POST':
        addr = request.form['addr'].lstrip().rstrip()
        f = io.open('static/whitelist.txt', 'a', encoding="utf-8")
        f.write(addr.decode('utf-8') + u'\r\n')
        f.close()
        return render_template('wladd.html')
项目:margy    作者:opentower    | 项目源码 | 文件源码
def unsub():
    if request.method == 'POST':
        addr = request.form['addr'].lstrip().rstrip()
        f = io.open('unsubscribers.txt', 'a', encoding="utf-8")
        f.write(addr.decode('utf-8') + u'\r\n')
        f.close()
        f = io.open('static/whitelist.txt', 'r', encoding="utf-8")
        lines = f.readlines()
        f.close()
        f = io.open('static/whitelist.txt', 'w', encoding="utf-8")
        for line in lines:
            if addr not in line:
                f.write(line.decode('utf-8'))
        f.close()
        return render_template('unsubscribed.html',addr=addr)