Найти - Пользователи
Полная версия: добавление пункта "не выбрано" в виджет select
Начало » Django » добавление пункта "не выбрано" в виджет select
1
zlodiak
помогите пожалуйста решить проблему

я сделал в шаблоне выпадающий список городов
models.py
class UserProfile(User):
    city = models.CharField(
        'Город',
        max_length=50, 
        default='saer', 
        blank=False,
    )
    @classmethod
    def get_city_list(self):
        result = self.objects.values_list('city', flat=True).distinct() 
        return result

views.py:
@login_required 
def friends_search(request):        
    t = loader.get_template('friends_search.html')
    c = RequestContext(request, {
        'city_list': UserProfile.get_city_list(),
    }, [custom_proc])   
    return HttpResponse(t.render(c))

template.html:
{% extends "page_base.html" %}
{% load thumbnail tags_drummersaransk %}
{% block title %} - Поиск друзей{% endblock %}
{% block content %}
    <section class="section friends_search">
        <form class="left filter" action="{% url 'friends_search' %}" method="POST">
            {% csrf_token %}
            <div class="cell">
                <label class="label lbl_city" for="fld_city">Город</label>
                <select class="fld_city" id="fld_city" name="fld_city">
                    {% for city in city_list %}
                        <option name="{{ city }}" value="{{ city }}">{{ city }}</option>
                    {% endfor %}
                </select>                   
            </div>  
            <div class="cell">
                <input class="submit btn btn-default btn-block" type="submit" name="fld_submit" id="fld_submit" value="Найти" />
            </div>
        </form>
    </section>
{% endblock %}

проблема в том, что в этом списке содержатся только названия городов. но мне нужно чтобы первым номером шёл пункт “город не выбран”

как я понимаю, нужно каким-то способом добавить этот пункт в методе
UserProfile.get_city_list ()
. подскажите пожалуйста как это сделать. или подскажите другой способ решить проблему
FishHook
zlodiak
чтобы первым номером шёл пункт “город не выбран”
Да бога ради
                <select name="{{ city }}" class="fld_city" id="fld_city" name="fld_city">
                     <option value="">Город не выбран</option>
                    {% for city in city_list %}
                        <option  value="{{ city }}">{{ city }}</option>
                    {% endfor %}
                </select>
Скажите, а с чего вы взяли, что у <option> есть name?
zlodiak
FishHook, спасибо. всё оказалось проще, чем я предполагал) хотя, если создаю форму подобным способом
class PathGloryForm(forms.ModelForm):		
	class Meta:
		model = PathGlory
		fields = (
			'user_id',
			'title', 
			'date', 
			'place', 
			'teaser', 
			'text',
			'path_glory_photo',
		)


,то пустой пункт присутствует в списке виджета по умолчанию. вот я и искал универсальный способ

с атрибутом name это мой косяк, поленился в спецификацию посмотреть. спасибо тоже
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB