-2
私はPythonコード内の2つのDateFieldオブジェクトの違いを取得し、その後、その違いに基づいて計算を実行しようとしています。 私はこのプロジェクトでフラスコを使用していますが、これまでに以下のコードがあります。 再生回数:Pythonの日で2つの日時フィールドの違いを取得
@admin.route('/approve/loan_payment/<id>', methods=['GET', 'POST'])
@login_required
def approve_loan_payment(id):
if not current_user.is_admin:
abort(403)
loan = Loan.query.filter_by(id=id).first()
if loan is None:
abort(404)
else:
form = ApproveLoanPayment()
if current_user.is_admin and form.validate_on_submit():
loan.user.username = form.username.data
loan.loan_amt = form.loan_amt.data
loan.my_funds = form.my_funds.data
loan.approved_on = form.approved_on.data
loan.repaid_on = form.repaid_on.data
loan.period = abs((loan.repaid_on - loan.approved_on).days)
loan.period = abs((loan.repaid_on - loan.approved_on).days)
if loan.period == 'More than 7 days' or \
loan.period == 'more than 7 days':
if loan.maximum_charge > loan.my_funds:
loan.balance = loan.maximum_charge - loan.my_funds
else:
loan.balance = loan.my_funds - loan.maximum_charge
loan.extra = loan.balance
if loan.period == 'Less than 7 days' or \
loan.period == 'less than 7 days':
if loan.minimum_charge > loan.my_funds:
loan.balance = loan.minimum_charge - loan.my_funds
else:
loan.balance = loan.my_funds - loan.minimum_charge
loan.extra = loan.balance
loan.confirm_payment = True
db.session.add(loan)
db.session.commit()
if loan.extra >= 0 or loan.balance == 0:
loan.is_repaid_in_full = True
loan.user.is_owing = False
flash("The Loan has been repaid in full")
if loan.balance > 0:
loan.is_repaid_in_full = False
loan.user.is_owing = True
if loan.maximum_charge > loan.my_funds:
updated_balance = loan.balance
loan.maximum_charge = updated_balance
elif loan.minimum_charge > loan.my_funds:
updated_balance = loan.balance
loan.minimum_charge = updated_balance
flash("Loan payment approved."
"Loan balance is %s" % loan.balance)
flash("The Loan has not yet been repaid in full")
db.session.add(loan)
db.session.commit()
flash('The loan has been repaid')
return redirect(url_for('admin.view_all_loans'))
form.username.data = loan.user.username
form.loan_amt.data = loan.loan_amt
form.my_funds.data = loan.my_funds
form.approved_on.data = loan.approved_on
return render_template('admin/approve-loan-payment.html',
form=form, loan=loan)
しかし、これは結果として 'なし' を表示しません。
この実装のための形式は次のとおりです。親切に私は右致しておりませんどのようなハイライト
class ApproveLoanPayment(Form):
username = StringField('Username', validators=[
Required(), Length(1, 64), Regexp('^[A-Za-z][A-Za-z0-9_.]*$', 0,
'Usernames must have only letters, '
'numbers, dots or underscores')])
loan_amt = FloatField('Borrowed Amount')
approved_on = DateField('Date Approved')
repaid_on = DateField('Date Repaid', default=datetime.utcnow)
period = IntegerField('Period Taken')
my_funds = FloatField('Amount Paid')
submit = SubmitField('Approve Loan')
。
質問を正しくフォーマットできますか?コードは読めません – SnoozeTime
私はちょうどしました。それを今見てみましょう。 –
Noneを表示する関数呼び出しは何ですか?最小の実例を提供できますか?これは物事をはるかに理解しやすくします。 – Ohumeronen