Я ссылаюсь на следующие сообщения:
Несмотря на два поста и хорошие ответы, я все еще пытаюсь создать минимальный рабочий пример для динамических HTML-страниц, использующих Django иAJAX.
Мне нужен следующий код:
models.py
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^get_more_tables', views.get_more_tables, name='get_more_tables')
]
views.py
from django.shortcuts import render
from .models import Question
def index(request):
a = Question.objects.order_by('-pub_date')
context = {'questions': a}
return render(request, 'polls/index.html', context)
def get_more_tables(request):
a = Question.objects.order_by('-pub_date')
context = {'questions': a}
return render(request, 'polls/get_more_tables.html', context)
index.html
<html>
<body>
<table id="_appendHere">
<tr><td> text </td></tr>
{% for a in questions %}
<tr><td> {{ a.question_text }} </td></tr>
{% endfor %}
</table>
</body>
</html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
var append_increment = 0;
setInterval(function() {
$.ajax({
type: "GET",
url: "{% url 'get_more_tables' %}",
data: {'append_increment': append_increment}
})
.done(function(response) {
$('#_appendHere').append(response);
append_increment += 10;
});
}, 1000)
get_more_tables.html
{% for a in questions %}
<tr><td> {{ a.question_text }} </td></tr>
{% endfor %}
У меня есть следующие проблемы:
- В соответствии с Ошибка консоли с Ajax: ReferenceError: $ не определено Мне нужно настроить js.file в js-скрипте.Если я этого не сделаю, я получаю ошибку «ReferenceError: $ is notfined».Почему, в частности, это не нужно для предыдущих постов, упомянутых выше?
Если я запускаю http://localhost:8000/polls/,, ничего не происходит.Я предполагал, что, когда я использую
q2 = Вопрос (question_text = "Что случилось4?", Pub_date = timezone.now ()) q2.save ()
с помощью оболочки python manage.py, должна отображаться вся внутренняя база данных.Однако ничего не происходит.Когда я обновляю сайт вручную, отображаются все записи.
- Консоль инспектора Mozilla не показывает никаких записей.Сетевая консоль Mozilla показывает, что / pool и внешний файл js доступны.Однако непрерывный доступ с интервалом в 1 с не отображается (не уверен, что так и должно быть).