我正在使用自动完成功能来下拉用户名和用户个人资料图片,我正确获取了用户名,但是个人资料图片显示的是默认图片,而不是用户个人资料图片。我不知道我是否在jquery中传递了这个权利。还有如何使z-index自动完成。这是我尝试过的:
型号:
class Profile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL,on_delete=models.CASCADE,blank=True,null=True)
profile_pic = models.ImageField(upload_to='ProfilePicture/', default="ProfilePicture/user-img.png", blank=True)
观看次数:
def home(request):
all_users = User.objects.values_list('username', flat=True)
all_img = Profile.objects.all().distinct()
context = {
'all_users': all_users,
'all_img': all_img,
}
jQuery:
<script type="text/javascript">
//TAG AUTOCOMPLETE FORM DROPDOWN USER NAMES
$(function() {
var availableTags = [
{% for user in all_users %}
"{{user|safe}}",
{% endfor %}
];
$(".autocomplete").autocomplete({
source: availableTags,
}).data("ui-autocomplete")._renderItem = function (ul, item) {
var image = "<div>{% for img in all_img %}{% if img.profile_pic %}<img src='{{ img.profile_pic.url
}}'{% endif %}{% endfor %}" + " height='55' /> " + item.label + "</div>";
return $("<li></li>")
.data("item.autocomplete", item)
.append(image)
.appendTo(ul);
};
});
</script>