クライアントがカレンダーで予定を作成できる小さなアプリケーションを作っていますが、データベース内に予定を保存して日付までに表示する方法がわかりません。アポイントをデータベースFlaskに保存する方法は?
全編集:私は、データベース内の予定を保存したい
、その際:
私はあなたが以下を参照できるよう、いくつかのジャンク予定でカレンダーを作成しました任意のクライアントがそれを送信した後にヒットすると、Ajaxリクエストがリクエストを処理できる私のビューに送信されます。ここではです。:
@abonent_panel_route.route('/panel/make/appointment/')
@abonent_panel_route.route('/panel/make/appointment/', methods=['GET', 'POST'])
def get_appo():
# user = User.query.filter_by(id=current_user.id).first_or_404()
import json
getData = str(request.args.getlist('data'))
data = json.loads(getData)
if data :
print "\n\n\n\n" + str(data['title']) + "\n\n\n\n"
return jsonify({'success': data})
else:
print "\n\n\n\n" + str(len(data)) + "\n\n\n\n"
return jsonify({'error': 'No data!'})
そして、ここjavascript
コードです:
$(document).ready(function() {
var initialLocaleCode = 'ru';
var d = new Date();
var strDate = d.getFullYear() + "/" + (d.getMonth()+1) + "/" + d.getDate();
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay,listMonth'
},
defaultDate: strDate,
height: 650,
locale: initialLocaleCode,
navLinks: true, // can click day/week names to navigate views
selectable: true,
selectHelper: true,
select: function(start, end) {
var title = prompt('Event Title:');
var eventData;
if (title) {
eventData = {
title: title,
start: start,
end: end
};
$('#calendar').fullCalendar('renderEvent', eventData, true); // stick? = true
$(this).css({'background-color':'red'});
$.ajax({
type: 'POST',
url: '{{url_for("panel_abonent.get_appo")}}',
data: [eventData]
})
.done(function(data){
if(data.error){
console.log(eventData);
}
else {
console.log(eventData);
}
});
}
$('#calendar').fullCalendar('unselect');
},
editable: true,
eventLimit: true,
events: [
{
title: 'All Day Event',
start: strDate
},
{
title: 'Long Event',
start: '2017-04-18',
end: '2017-04-20'
},
{
id: 999,
title: 'Repeating Event',
start: '2017-04-20'
},
{
id: 999,
title: 'Repeating Event',
start: '2017-04-29'
},
]
});
$.each($.fullCalendar.locales, function(localeCode) {
$('#locale-selector').append(
$('<option/>')
.attr('value', localeCode)
.prop('selected', localeCode == initialLocaleCode)
.text(localeCode)
);
});
$('#locale-selector').on('change', function() {
if (this.value) {
$('#calendar').fullCalendar('option', 'locale', this.value);
}
});
});
は、コンソールの内部では、私は開始時刻と終了時刻、タイトルのように、選んだ日付のデータの一覧を見ることができ、ここにある:
Object {title: "asfawg", start: r, end: r}
start : r{
"_ambigTime":true,
"_ambigZone":true,
"_d" : "Thu Apr 06 2017 06:00:00 GMT+0600 (+06)",
"_fullCalendar":true,
"_i":"2017/4/19",
"_isAMomentObject":true,
"_isUTC":true,
"_isValid":true,
"_locale":e,
"_offset":0,
"_pf":Object,
"__proto__":Object,
"title":"asfawg"
}
view.py私は、リストからデータを簡単に取得できるように辞書をリストに変換しているので、上で見たようにキーと値がありますタイトル asfawgというタイトルの値を取得する必要がありますが、私は何も得られず、リクエストはいつも返信データなし。およびの長さは、を返します。
私が作った間違いがどこにあるか教えてください。
私は、あなたが何を求めているのか、このコードの大部分がそれと関係しているのか分かりません。 [ask]と[mcve]をお読みください。 – davidism
答えを得ようとしているのは、カレンダーに配置された予定を保存し、カレンダーにも1つずつ表示する方法を知りたいということです。 – reznov11
はい、何が問題なのですか?これは広すぎます。もう一度、私が上でコメントしたリンクを見てください。 – davidism