Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » странности с переменными при передаче из шаблона во view [RSS Feed]

#1 Ноя. 14, 2017 10:16:21

Bubalgum
Зарегистрирован: 2017-09-06
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

странности с переменными при передаче из шаблона во view

Доброго времени суток!
Подскажите что не так.
Передаю из шаблона переменную методом jQuery.get(). Во view принимаю, в дебагере вижу, что пеедалось то что нужно, НО при сравнении условие не выполняется.
Например передаю my_var= “status”, проверяю во вьюхе условие if my_var == “status” результат false.
В дебагере смотрю переменные str, строковые, почему не равны?

Офлайн

#2 Ноя. 14, 2017 11:07:48

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

странности с переменными при передаче из шаблона во view

код покажите



Офлайн

#3 Ноя. 14, 2017 11:37:13

Bubalgum
Зарегистрирован: 2017-09-06
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

странности с переменными при передаче из шаблона во view

view.py

 def index_a(request):
    models = ClientPerson
    latest_question_list = models._meta.fields
    
    my_var = request.GET.get('persona_status', False)
   
    my_var4 = "person_name"
 
    if my_var4 == my_var:
        my_var5 ="yes"
    context ={'latest_question_list': latest_question_list}
   
    return render(request, 'blogic/index_a.html', context)
index.html

 {% load staticfiles %}
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
    <script type="text/javascript" src="{% static 'blogic/js/jquery-3.2.1.min.js' %}"></script> 
    <script type="text/javascript">
   $(function() {
      $("#test").click(function() {
          q = $("#name_column option:selected").text();
          q2 = { persona_status:  q };
          
          $.get("index_a/", q2, function (data) {
              $("#test3").append(' <select name="test">{% for product in my_var2 %}<option >{{ product }}</option>{% endfor %}</select>');
              
         });
      });
    });
</script>
<body>
    <p><a id="test">Hello</a></p>
 
    <p>
        <select id="name_column" name="test">
        {% for product in latest_question_list %}
         <option >{{ product.column  }} </option>     
        {% endfor %}
		</select>
    </p>
        <select name="test2">
          <option ></option>  
        {% for product in my_var2 %}
         <option >{{ product }} </option>     
        {% endfor %}
        </select>
</body>
</html>

Отредактировано FishHook (Ноя. 14, 2017 11:59:24)

Офлайн

#4 Ноя. 14, 2017 11:41:32

Bubalgum
Зарегистрирован: 2017-09-06
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

странности с переменными при передаче из шаблона во view

Протестировал, создал поле и текст выдергивал отправлял и цифры, код срабатывает.
Не срабатывает только из тех полей которые генерятся на основании данных из Бд. Бд sqllite. Кодировка везде utf8 и в Бд и в шаблоне.

Отредактировано Bubalgum (Ноя. 14, 2017 11:46:08)

Офлайн

#5 Ноя. 14, 2017 12:00:49

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

странности с переменными при передаче из шаблона во view

Bubalgum
Не срабатывает только из тех полей которые генерятся на основании данных из Бд.
В том коде, который вы показали, нет обращений к БД



Офлайн

#6 Ноя. 14, 2017 12:18:40

Bubalgum
Зарегистрирован: 2017-09-06
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

странности с переменными при передаче из шаблона во view

Самое начало view

 latest_question_list = models._meta.fields
потом через context передается рендеру, а в шаблоне уже раскрывается эта переменная.
Если я не так выразился извиняюсь.

Отредактировано Bubalgum (Ноя. 14, 2017 12:19:14)

Офлайн

#7 Ноя. 14, 2017 12:30:24

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

странности с переменными при передаче из шаблона во view

Bubalgum
Вы думаете, что этим вы что-то получаете из БД? Это же просто список полей модели. И вообще, так делать нельзя, вам же специально подчеркнули - это служебный атрибут, не надо его использовать в прикладном коде.
У вас вообще что происходит? Вы пытаетесь с помощью jQuery отправить клиенту текст выбранного опшена (не value!!!), который должен представлять собой имя столбца таблицы БД? ЗАЧЕМ?



Офлайн

#8 Ноя. 14, 2017 12:36:02

Bubalgum
Зарегистрирован: 2017-09-06
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

странности с переменными при передаче из шаблона во view

Может я конечно зря так заморочился, если есть более простой способ с удовольствием выслушаю.
А задача следующая;
Открывается страница есть поле типа список, который заполняется на основании колонок БД. Затем в зависимости от того что выбрал пользователь запрашивается следующая инфа.
Например таблица с колонками имя и статус. т.е. первое поле будет со списком имя и статус. если выбрать имя, то пойдет запрос к БД и выгрузятся в следующее поле и сформируется список из имен, если юзер выберет статус, то запрос к Бд будет уже другой и выгрузиться поле со списком статусов.

Офлайн

  • Начало
  • » Django
  • » странности с переменными при передаче из шаблона во view[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version