DateTimeField
будет (намного) лучшим выбором, чем CharField
.Вы можете определить модель, подобную этой:
class ButtonClick(models.Model):
clicked_on = models.DateTimeField()
Вы можете определить представление, которое создает экземпляр этой модели и сохраняет его при вызове.здесь используется ModelForm
.
class ButtonClickForm(forms.ModelForm):
class Meta:
model = ButtonClick
def record_button_click(request, *args, **kwargs):
if request.is_ajax() and request.method == 'POST':
form = ButtonClickForm(request.POST.copy())
if form.is_valid():
instance = form.save()
return render_to_response(... XML snippet indicating success ...)
else:
# Return invalid request? This depends on your scenario.
Теперь наступает интересная часть - вызов этого представления из вашего браузера.Следующий фрагмент является примером того, как это сделать. Предупреждение : Мои знания jQuery очень ограничены.Фрагмент может содержать ошибки и / или могут быть лучшие способы сделать это.
function on_button_click(date) {
$.ajax({
url: 'app/record_button_click/',
data: "date=" + date.toString(), // Use appropriate formatting option.
success: function(data) {
alert('Button click recorded.');
}
});
}
<button onClick="return on_button_click(new Date());" ../>