以模型数据作为初始数据,根据选择填写django表格
需要关于将模型类字段作为初始数据添加到表单数据的帮助 models.py forms.py 我已经创建了Source1对象并添加了https://stackoverflow.com 源URL字段中的值 下面是它的样子: 一旦我从forms.ModelChoiceField中选择Source1,我希望它根据用户选择的对象显示source\u URL的source\u URL字段数据以模型数据作为初始数据,根据选择填写django表格,django,django-models,django-forms,django-views,Django,Django Models,Django Forms,Django Views,需要关于将模型类字段作为初始数据添加到表单数据的帮助 models.py forms.py 我已经创建了Source1对象并添加了https://stackoverflow.com 源URL字段中的值 下面是它的样子: 一旦我从forms.ModelChoiceField中选择Source1,我希望它根据用户选择的对象显示source\u URL的source\u URL字段数据 听起来需要一个JavaScript解决方案 在视图上下文中设置名为“source\u url”的上下文变量后,可以加
听起来需要一个JavaScript解决方案 在视图上下文中设置名为“source\u url”的上下文变量后,可以加载模板中的所有source\u URL: 你的看法:
class YourViewName():
def get_context_data(self, **kwargs):
context_data = super().get_context_data(**kwargs)
context_data['source_urls'] = SourceCode.objects.values('id', 'source_urls')
return context_data
在模板中:
<script>
var source_urls = {
{% for su in source_urls %}
"{{ su.id }}": "{{ su.source_urls }}",
{% endfor %}
}
</script>
或者,您可以创建另一个视图,通过ajax调用搜索源URL:
def source_url_searcher(request):
source_id = request.GET.get('id')
source_urls = SourceCode.objects.get(id=source_id).source_urls
return return JsonResponse({source_urls: source_urls})
以及您的JavaScript:
$('#source_description_id').change(function() {
$('#source_form_urls_id').val(source_urls[$(this).val()]);
});
$('#source_description_id').change(function() {
$.ajax({
url: <the_ajax_url>,
data: {source_id: $(this).val()},
success: function(response) {
$('#source_form_urls_id').val(response.source_urls);
}
});
});
这两个例子都需要一些改进才能正常工作,但它们提供了总体思路。听起来需要一个JavaScript解决方案 在视图上下文中设置名为“source\u url”的上下文变量后,可以加载模板中的所有source\u URL: 你的看法:
class YourViewName():
def get_context_data(self, **kwargs):
context_data = super().get_context_data(**kwargs)
context_data['source_urls'] = SourceCode.objects.values('id', 'source_urls')
return context_data
在模板中:
<script>
var source_urls = {
{% for su in source_urls %}
"{{ su.id }}": "{{ su.source_urls }}",
{% endfor %}
}
</script>
或者,您可以创建另一个视图,通过ajax调用搜索源URL:
def source_url_searcher(request):
source_id = request.GET.get('id')
source_urls = SourceCode.objects.get(id=source_id).source_urls
return return JsonResponse({source_urls: source_urls})
以及您的JavaScript:
$('#source_description_id').change(function() {
$('#source_form_urls_id').val(source_urls[$(this).val()]);
});
$('#source_description_id').change(function() {
$.ajax({
url: <the_ajax_url>,
data: {source_id: $(this).val()},
success: function(response) {
$('#source_form_urls_id').val(response.source_urls);
}
});
});
这两个示例都需要一些改进才能正确工作,但它们提供了一般思路。使用ajax是一个很好的技巧,将了解第一个方法上下文,从而将解决方案标记为已解决。感谢您的写作:使用ajax是一个很好的技巧,它将学习第一个方法上下文,从而将解决方案标记为已解决。感谢您的写作: