Problem:
Przy otwieraniu listy rozwijanej wyświetla mi zły tekst w opcjach wyboru:
{'name': u'120'}"
{'name': u'Program aktywizacji strategicznych teren\xf3w inwestycyjnych'}
{'name': u'Program rozwoju transportu dla miasta Mys\u0142owice'}"
Jak zrobić, żeby wyświetlał sam tekst:
"Program aktywizacji [...]" bez tych znaczników {'name'}:u'
Szukałem po stackoverflow, django i innych forach i nie poradziłem sobie.
Tutaj obrazek:
models.py:
from django.db import models
class programstrategiczny(models.Model):
name = models.CharField(max_length=120)<,code>
forms.py
from django import forms
from models import programstrategiczny
class ListaForm(forms.Form):
lista = forms.ModelChoiceField(queryset=programstrategiczny.objects.values('name'),
empty_label="")
views.py
from django.shortcuts import render
from django.http import HttpResponseRedirect
from forms import ListaForm
def get_lista(request):
if request.method == 'POST':
form = ListaForm(request.POST)
if form.is_valid():
return HttpResponseRedirect('/thanks/')
else:
form = ListaForm()
return render(request, 'plik.html', {'form': form})
szablon html:
<body>
<form action="/your-name/" method="post">
{% csrf_token %}
{{ form }}
</form>
</body>
```
Powie mi ktoś, gdzie popełniłem błąd? :)
Od niedawna bawię się Pythonem i mam zamiar w ramach praktyki stworzyć niewielką aplikację w Django.