2016-05-27 2 views
0

私は部屋を借りるためのサイトで働いています。ユーザーは2つの日付を選択します(UserStartDate & UserEndDate)。ユーザーが選択した期間に応じて合計金額を計算する場所と方法は?

私は彼の日付範囲の日数を取得するつもりこのPythonコードと

user_date_range = [endUser - timedelta(i) for i in range((endUser - startUser).days+1)] 
user_range_num_days = len(user_date_range) 

と私は部屋のために一日の価格を持っている:20 $

が、ジャンゴでの習熟度が不足しているために、私は彼の日付範囲に応じてユーザー価格を計算する方法を把握することはできません。それがどこで行われるべきか。

あなたのご協力をお願いいたします。

+0

私はあなたがDjangoについて混乱していると思います - それはWebフレームワークです。あなたの問題はpython .. timedeltaを使用して研究しています。 2つの日付を減算します。 – Merlin

答えて

1

これはdjangoではなくpythonとは関係ありません。私はuser_start_dateuser_end_dateのpython datetime.dateまたはdatetime.datetime両方のオブジェクトであると仮定し、その後、あなたができる:

num_days = (user_end_date - user_start_date).days 
total_price = num_days * 20 
+0

ありがとう、私はそれを使用します。しかし、私はこの論理をどこに実装すべきかを知りたい。 – filmincer

+0

あなたはどこに価格を明らかに計算したいです。それはどこに起こりますか? –

+0

これまでは、私のビューで** def get()**を介してuser_end_dateとuser_start_date(GETリクエストによって送信された)を満たしています。将来、AJAX経由で価格テキストを動的にリロードしたいので、ユーザーは計算された価格をすぐに見ることができます。 – filmincer

0

https://docs.python.org/2/library/calendar.html

あなたがいないすべての月は日数の同じ量を持っていることを認識すべきであるとカレンダーが必要ですそれら。 itermonthdates(年、月)は、その月のすべての日のイテレータを返します。そのイテレータを実行し、範囲内のすべての日付一致のカウントを増分します。もちろん、終了日が翌月になる場合は、同じカウンターを保持してください。

関連する問題