Я хочу передать две переменные: имя_ сценария и идентификатор_сценария из моего представления в мою функцию ajax в html-коде.
Таким образом, в основном в базе данных каждая организация может иметь несколько сценариев. Модели организации и сценария имеют по два поля: поле идентификатора и поле имени.
И еще одно мое сомнение: как я передаю его в ajax, как мне получить доступ к переданным переменным?
my views.py
from django.shortcuts import render, redirect
from Organization.models import Organization
from django.http import HttpResponse
from Scenario.models import Scenario
import json
from django.core import serializers
def alertindex(request):
return render(request, 'alertindex.html', {
'Organization': Organization.objects.all(),
})
def get_scenario(request):
org_id = request.GET.get('org_id')
organization = Organization.objects.get(pk=int(org_id))
scenario = organization.scenario_set.all()
scenarios = serializers.serialize("json", scenario)
return scenarios
urls.py
from . import views
from django.conf.urls import url
urlpatterns = [
# Add alert url
url(r'^$', views.alertindex, name='alertindex'),
# Bind data in scenario drop down
url(r'^/Scenario$', views.get_scenario, name='Get_Scenario'),
]
моя функция ajax
var orgID = $(this).val();
var scenarios = '{{ scenarios }}'
$.ajax({
type: "GET",
url: "{% url 'Get_Scenario' %}",
data: { org_id: orgID},
success: function () {
var udata = "";
for (var i = 0; i < scenarios.length; i++) {
udata = udata + "<option value='"+ scenarios[i].scenario_id + "'>" + scenarios[i].scenario_name + "</option>"
$("#txtScenario").append(udata);
}
},
});
URL Get_Scenario связывает меня с моим представлением с функцией get_scenario.
Ошибка, с которой я сталкиваюсь - объект "str" не имеет атрибута "get" "
Traceback:
Файл "/Users/anirudhchakravarthy/anaconda3/lib/python3.6/site-packages/django/core/handlers/exception.py", строка 35, во внутреннем
response = get_response (запрос)
Файл "/Users/anirudhchakravarthy/anaconda3/lib/python3.6/site-packages/django/utils/deprecation.py", строка 97, в вызов
response = self.process_response (запрос, ответ)
Файл "/Users/anirudhchakravarthy/anaconda3/lib/python3.6/site-packages/django/middleware/clickjacking.py", строка 26, в process_response
если response.get ('X-Frame-Options') не является None:
AttributeError: у объекта 'str' нет атрибута 'get'
Любая помощь будет принята с благодарностью.