update-doc

merge-requests/3/head
王宇洋 3 years ago
parent e7ae7510ed
commit 0419bda511

@ -20,6 +20,7 @@ db = SQLAlchemy()
pagedown = PageDown()
csrf = CSRFProtect()
cache = Cache()
debug_toolbar = DebugToolbarExtension()
flask_static_digest = FlaskStaticDigest()
admin = Admin(template_mode='bootstrap4')
@ -30,6 +31,7 @@ login_manager.login_view = 'auth.login'
def create_app(config_name):
app = Flask(__name__)
app.config.from_object(config[config_name])
config[config_name].init_app(app)
@ -45,6 +47,7 @@ def create_app(config_name):
flask_static_digest.init_app(app)
admin.init_app(app)
from .main import main as main_blueprint
app.register_blueprint(main_blueprint)

@ -15,9 +15,27 @@ from ..models import Permission, User, Post, Comment, Notification, Like, Transa
from ..decorators import permission_required
from ..util import check_text
@main.route('/', methods=['GET', 'POST'])
@cache.cached(timeout=30)
def index():
"""Get index page
@@@
### args
None
### request
```json
None
```
### return
```json
HTML Page
```
@@@
"""
if request.method == 'GET':
with db.session.no_autoflush:
page1 = request.args.get('page', 1, type=int)
@ -293,8 +311,8 @@ def user(username):
wanting = user.wanted_Activity
posts = user.posts.order_by(Post.timestamp.desc())
questions=user.questions.order_by(Question.timestamp.desc())
concernQuestions=Savequestion.query.filter_by(saver_id=user.id)
questions = user.questions.order_by(Question.timestamp.desc())
concernQuestions = Savequestion.query.filter_by(saver_id=user.id)
liking_posts = [{'post': item.liked_post, 'timestamp': item.timestamp} for item in
liking.order_by(Like.timestamp.desc())]
@ -302,9 +320,10 @@ def user(username):
activities = user.activities.order_by(Activity.timestamp.desc())
collects = collecting.order_by(Collect.timestamp.desc())
wants = wanting.order_by(Want.timestamp.desc())
return render_template('user.html', user=user, posts=posts, questions=questions,liking_posts=liking_posts, activities=activities,
transactionsInProfile=transactions, collects=collects, wants=wants, concernQuestions=concernQuestions,concernAnswers=posts )
return render_template('user.html', user=user, posts=posts, questions=questions, liking_posts=liking_posts,
activities=activities,
transactionsInProfile=transactions, collects=collects, wants=wants,
concernQuestions=concernQuestions, concernAnswers=posts)
@main.route('/notification')
@ -491,7 +510,7 @@ def send_message(username, message):
print(check)
if check["conclusionType"] != 1:
data = check['data'][0]["msg"]
flash('Your message violated the rule of our web site. '+ message + " " + data)
flash('Your message violated the rule of our web site. ' + message + " " + data)
return redirect(url_for('.user', username=username))
currentUserObj.send_message(user, message)
@ -839,17 +858,17 @@ def AJAXsave_question(question_id):
current_user.unsavequestion(question)
# question.dis...(current_user)
db.session.commit()
return jsonify({'code': 200, 'like': False, 'num':question.savers.count()})
return jsonify({'code': 200, 'like': False, 'num': question.savers.count()})
else:
current_user.savequestion(post)
db.session.commit()
return jsonify({'code': 200, 'like': True, 'num':question.savers.count()})
return jsonify({'code': 200, 'like': True, 'num': question.savers.count()})
@main.route('/invitelist/<question_id>')
def invite_list(question_id):
# user = User.query.filter_by(id=user_id).first()
user=current_user
user = current_user
if user is None:
flash('Invalid user.')
return redirect(url_for('.index'))
@ -865,11 +884,11 @@ def invite_list(question_id):
@main.route('/invite/<question_id>/<user_id>')
def invite(question_id,user_id):
question=Question.query.filter_by(id=question_id).first()
def invite(question_id, user_id):
question = Question.query.filter_by(id=question_id).first()
user = User.query.filter_by(id=user_id).first()
notification=Notification(timestamp=datetime.utcnow(),username=current_user.username,action=" has invited ", object=question.title,object_id=question_id,receiver_id=user_id)
notification = Notification(timestamp=datetime.utcnow(), username=current_user.username, action=" has invited ",
object=question.title, object_id=question_id, receiver_id=user_id)
db.session.add(notification)
db.session.commit()
return redirect(url_for('.invite_list',question_id=question_id))
return redirect(url_for('.invite_list', question_id=question_id))

Binary file not shown.

@ -7,6 +7,7 @@ import requests
from flask import Response
from flask_admin.contrib.fileadmin import FileAdmin
from flask_admin.contrib.sqla import ModelView
from flask_docs import ApiDoc
from flask_migrate import Migrate
from app import create_app, db, admin
from app.models import User, Role, Students, Permission, Post, Comment, Like, Notification, Transaction, Activity
@ -16,15 +17,13 @@ from app.models import User, Role, Students, Permission, Post, Comment, Like, No
app = create_app(os.getenv('FLASK_CONFIG') or 'default')
migrate = Migrate(app, db, render_as_batch=True)
from geetest_config import GEETEST_ID, GEETEST_KEY, REDIS_HOST, REDIS_PORT, CYCLE_TIME, BYPASS_URL, \
GEETEST_BYPASS_STATUS_KEY
from sdk.geetest_lib import GeetestLib
geetest_dict = {}
@ -106,8 +105,14 @@ admin.add_view(ModelView(Notification, db.session, name="Notifications", endpoin
admin.add_view(ModelView(Transaction, db.session, name="Transactions", endpoint="Transactions"))
admin.add_view(ModelView(Activity, db.session, name="Activities", endpoint="Activities"))
admin.add_view(FileAdmin("."))
ApiDoc(
app,
title="Sample App",
version="1.0.0",
description="A simple app API",
)
app.config["API_DOC_MEMBER"] = ["app", "main"]
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')

Loading…
Cancel
Save