2017-02-21 25 views
0

В моих models.py у меня есть два CharFields, которые администратор может входить в систему и вводить. Один имеет понятное имя, а другие имеют каталог пути к файлу прилагается к нему:Выберите значение из базы данных и верните другое значение в Django

models.py

class IssuingCA (models.Model) 
    ICA_name = models.CharField(max_length=200) 
    filepath = models.CharField(max_length=200) 
    def __str__(self): 
     return self.ICA_name 

В моем views.py я ссылаться на эти поля, так что я могу использовать их в капле -вниз <select> тег позже:

views.py

from .models import IssuingCA 
--snip-- 
"""This is the main page""" 
def index(request): 
    issuers = IssuingCA.objects.order_by('ICA_name') 
    issuerOptions = {'issuers': issuers} 
    return render(request, 'index.html', issuerOptions) 
--snip-- 
"""This is the results page""" 
def results(request): 
    issuer = request.POST['selectedIssuer'] 
    return render(request, 'results.html', {'issuer': issuer} 

В моем HTML коде, я создаю цикл для каждого ICA_name из моей модели.

index.html

--snip-- 
<select name="selectedIssuers"> 
    {% for icas in issuers %} 
    <option>{{ icas }}</option> 
    {% endfor %} 
    </select> 

results.html

--snip-- 
This is your result:<br /> 
<textarea rows="10" cols="200">{{ issuer }}</textarea> 
--snip-- 

Прямо сейчас, когда я представить эти данные и вернуть его с помощью простой пост, он возвращает поле ICA_name я выбрал, как и ожидалось. Как я могу получить результат, чтобы показать соответствующий путь к файлу при выборе ICA_name? В конечном итоге я хочу передать эти данные (путь к файлу) к большему количеству функций.

ответ

1

В вашем поле выбора, передайте значение для опций:

<option value="{{icas.filepath}}">{{ icas }}</option> 
+0

Wow. Это было действительно так просто. Огромное спасибо!! – Eddi