maniacus26, самое просто решение, создавать запрос с страницы обращения. Напр:
obrashcenije/2 - страница с информацией об обращении
obrashcenije/2/dodat_zapros - страница с созданием запроса к конкретному обращению.
Тогда во вьюхе создания запроса, буде доступен парметр self.kwagrs['obr_id'], если урлу задать как-то так:
class ZaprosCreator(CreateView):
form_class = ZaprosForm
def get_initial(self):
return {'obrashcenije': self.kwagrs['obr_id']}
form = ZaprosForm(initial={'obrashcenije': self.kwagrs['obr_id']})
class ZaprosForm(forms.ModelForm):
...
def __init__(self, *args, **kwargs):
super(ZaprosForm, self).__init__(*args, **kwargs)
self.obrashcenije = kwargs.get('initial').get('obrashcenije', None)
class ZaprosForm(forms.ModelForm):
class Meta:
model = ZaprosModel
exclude = ('obrashcenije',)
class ZaprosView(CreateView):
form_class = ZaprosForm
def form_valid(self, form):
obj = form.save(commit=False)
obj.obrashcenije_id = self.kwagrs['obr_id']
obj.save()
return super(ZaprosView, self).form_valid(form)
<br>
. Если вы не хотите форматировать HTML - оставьте только текстовую часть письма. <select id="dynamic-select">
<option value="http://www.google.com/">Google</option>
<option value="http://www.youtube.com/">YouTube</option>
<option value="http://www.yandex.ru/">Yandex</option>
</select>
<script>
$('#dynamic-select').bind('change', function () {
var url = $(this).val();
if (url != '') {
window.location = url;
}
return false;
});
</script>
<select id="dynamic-select">
<option id="s1" value="test.html?s=s1">Google</option>
<option id="s2" value="test2.html?s=s2">YouTube</option>
<option id="s3" value="test3.html?s=s3">Yandex</option>
</select>
<script>
$(document).ready(function () {
$.urlParam = function(name){
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (results==null){
return null;
}
else{
return results[1] || 0;
}
}
var selected = $.urlParam('s');
if (selected){
$("#dynamic-select option[id="+selected+"]").prop("selected", "selected");
}
$('#dynamic-select').bind('change', function () {
var url = $(this).val();
if (url != '') {
window.location = url;
}
return false;
});
});
</script>
class BenefitForm(OscarBenefitForm):
range = forms.ModelChoiceField()
def __init__(self, *args, **kwargs):
super(BenefitForm, self).__init__(*args, **kwargs)
if hasattr(kwargs, 'site_ids'):
self.fields['range'].queryset = Range.objects.filter(site__id__in=kwargs.get('site_ids'))
else:
self.fields['range'].queryset = Range.objects.all()
............
#: minisite/apps/info/forms.py:21
msgid "Product Information"
msgstr ""
..............
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as languages %}
<html lang="{{LANGUAGE_CODE}}">
{% for lang_code, lang_name in languages %}
{% language lang_code %}
{%if LANGUAGE_CODE != lang_code%}
<a class="navbar-brand" href="#">{% trans 'Change language' %}</a>
{%endif%}
{% endlanguage %}
{% endfor %}
</html>