Bom dia,
estou quebrando a cabeça já alguns dias com um problema, estou usando a lib cropper.js para cortar e fazer pequenas edições numa imagem, e ao salvar quero adicionar a imagem editada num input file que será submetido juntamente com o form.
Aparentemente a imagem e corretamente criada e carregada no input, porém no servidor (python/django) está gerando excessão informando que a imagem não é válida ou está corrompida, se eu carrego a mesma imagem gerada manualmente (exporto para disco e carrego novamente) o registro é salvo sem problemas.
// Gerando a imagem e carregando no input
let croppedCanvas = this.cropper.getCroppedCanvas();
let data = croppedCanvas.toDataURL();
let file = new File([data], 'foto.png',{type:"image/png", lastModified: new Date().getTime()});
let container = new DataTransfer();
container.items.add(file);
this.inputTarget.files = container.files;
Existe alguma configuração adicional ao criar o File?
Estou tentando criar uma imagem dinamicamente por javascript e carregá-la no input do formulário, apesar da imagem ser gerada corretamente, ao validar o formulário no python é retornado um erro alegando que o arquivo de imagem é inválido ou está corrompido.
Segue gist com o código:
https://gist.github.com/castelhano/bd72947e13421606453798bbf219cc74
To tentando realizar um preenchimento de select com ajax, eu diz o titulo, eu seleciono o estado ('uf') e no outro select ele me trás só as cidades pertencentes aquele estado. Só que ele me fala que o cidades não está definida.
views.py
def Cidades(request):
cidades = []
if request.method == 'GET':
uf = request.GET.get('uf')
for cidade in Municipios.objects.filter(uf__uf=uf).order_by('municipio'):
dados = {}
dados['pk'] = cidade.id
dados['descricao'] = cidade.municipio
cidades.append(dados)
return JsonResponse(data=cidades, safe=False)
return JsonResponse(data=cidades, safe=False)
urls.py
urlpatterns = [
path('cidades/', Cidades, name="listagem_cidades"),
]
forms.py
'uf': forms.Select(attrs={'data-toggle': 'select2',
'class': 'form-control select2-multiple formulario_input',
'onchange': 'cidades()'}),
html
<div class="col-md-2">
<div class="form-group mb-2">
<label for="id_uf" class="col-form-label requiredField">
UF<span class="asteriskField">*</span>
</label>
{{ form.uf }}
</div>
</div>
<div class="col-md-6">
<div class="form-group mb-2">
<label for="id_cidade" class="col-form-label requiredField">
Cidade<span class="asteriskField">*</span>
</label>
{{ form.cidade }}
</div>
</div>
<script>
$(document).ready(function (){
function cidades() {
var vuf = $('#uf_id').val();
$('#cidade_id').select2({
ajax: {
url: '/ibge/cidades/',
data: {uf: vuf},
processResults: function(data) {
console.log(data)
// Transforms the top-level key of the response object from 'items' to 'results'
return {
results: data.items
};
}
}
});
}
})
</script>
Já inverti os id, e o erro persiste. Alguém poderia me ajudar ?
Olá, nunca fiz consulta com Ajax e estou quebrando a cabeça para atualizar um campo no Django, tenho um template de funcionário e assim que selecionar a matricula quero que busque via ajax o nome do funcionário, segue no link meus arquivos, se alguém puder ajudar agradeço: