Форум сайта python.su
Добрый день.
имею небольшую проблему с настройкой сервера. а именно:
вот дерево /var/www/
.
└── flask
├── app
│** ├── auth
│** │** ├── forms.py
│** │** ├── __init__.py
│** │** └── views.py
│** ├── exceptions.py
│** ├── __init__.py
│** ├── main
│** │** ├── errors.py
│** │** ├── forms.py
│** │** ├── __init__.py
│** │** └── views.py
│** ├── model.py
│** ├── static
│** └── templates
├── config.py
├── data.db
└── run.py
/var/www/flask/run.py
mport os from app import create_app, db app = create_app(os.getenv('FLASK_CONFIG') or 'default') if __name__ == '__main__': app.run()
from flask import Flask, render_template from flask.ext.sqlalchemy import SQLAlchemy from flask.ext.bootstrap import Bootstrap from flask.ext.moment import Moment from flask.ext.script import Manager from flask.ext.mail import Mail from config import config from flask.ext.login import LoginManager from flask.ext.pagedown import PageDown db = SQLAlchemy() bootstrap = Bootstrap() moment = Moment() mail = Mail() login_manager = LoginManager() login_manager.session_protection = 'strong' login_manager.login_view = 'auth/login' pagedown = PageDown() def create_app(configname): app = Flask(__name__) app.config.from_object(config[configname]) config[configname].init_app(app) db.init_app(app) bootstrap.init_app(app) mail.init_app(app) moment.init_app(app) pagedown.init_app(app) from .main import main as main_blueprint app.register_blueprint(main_blueprint) from .auth import auth as auth_blueprint app.register_blueprint(auth_blueprint, url_prefix='/auth') from .api import api as api_blueprint app.register_blueprint(api_blueprint, url_prefix='/api/v1.0') login_manager.init_app(app) return app
app.run(host='myIP', port=80)
Офлайн
А-ну-ка покажите любую вьюху, если можно.
Офлайн
4kpt_IVчто простите ?
А-ну-ка покажите любую вьюху, если можно.
Офлайн
views.py. Любую функцию отображения.
Офлайн
4kpt_IV
views.py. Любую функцию отображения.
@main.route('/') def index(): return render_template('about.html') @main.route('/experience') def experience(): return render_template('experience.html') @main.route('/blog', methods=['GET', 'POST']) def blog(): form = PostForm() if current_user.can(Permission.WRITE_ARTICLES) and form.validate_on_submit(): post = Post(body=form.body.data, author=current_user._get_current_object()) db.session.add(post) return redirect(url_for('.blog')) page = request.args.get('page', 1, type=int) show_followed = False if current_user.is_authenticated: show_followed = bool(request.cookies.get('show_followed', '')) if show_followed: query = current_user.followed_posts else: query = Post.query pagination = query.order_by(Post.timestamp.desc()).paginate(page, per_page=current_app.config[ 'FLASKY_POSTS_PER_PAGE'], error_out=False) posts = pagination.items return render_template('blog.html', form=form, posts=posts, pagination=pagination, show_followed=show_followed) @main.route('/all') @login_required def show_all(): resp = make_response(redirect(url_for('.blog'))) resp.set_cookie('show_followed', '', max_age=30 * 24 * 60 * 60) return resp @main.route('/followed') @login_required def show_followed(): resp = make_response(redirect(url_for('.blog'))) resp.set_cookie('show_followed', '1', max_age=30 * 24 * 60 * 60) return resp
Офлайн
Покажите откуда во vies.py берется main…
Офлайн
4kpt_IV
Покажите откуда во vies.py берется main…
from os import abort from flask import render_template, session, redirect, url_for, flash, request, current_app, make_response from flask.ext.login import login_required, current_user from app.decorators import admin_required, permission_required from app.main.forms import EditProfileAdminForm, PostForm, CommentForm from app.auth.forms import EditProfileForm from . import main from .. import db from ..model import User, Role, Permission, Post, Comment import datetime [/code\
Офлайн
Оу. Попробую попроще. Существует множество методов конфигурирования flask приложения и Вы выбрали самый неудачный. Поэтому теперь разгребаете. Везет еще, что нет кучи зависимостей иначе это все было бы вообще не читаемым.
По-вашему вопросу.
app воспринимается как пакет…
Офлайн
4kpt_IVвот жешь. изучал flask по книге и репозиторию
Оу. Попробую попроще. Существует множество методов конфигурирования flask приложения и Вы выбрали самый неудачный. Поэтому теперь разгребаете. Везет еще, что нет кучи зависимостей иначе это все было бы вообще не читаемым.По-вашему вопросу.app воспринимается как пакет…
Офлайн
Киньте скайп в личку. Покажу как правильно конфигурировать.
Самое, что обидное - это то, что в литературе приводится именно неудачный способ конфигурирования. Да еще на уровне инита модуля в рантайме. Короче. Жесть жестокая
Отредактировано 4kpt_IV (Март 5, 2016 20:17:59)
Офлайн