【问题标题】:How do I use Django queryset in jQuery/javascript如何在 jQuery/javascript 中使用 Django 查询集
【发布时间】:2020-06-13 12:39:55
【问题描述】:

我正在尝试在 jQuery/javascript 中实现 Django 查询集。我能够获得所有用户的列表,但我无法获得用户的个人资料图片。用户名显示,但用户图像不显示为图像,它显示为文本(约翰)。如何获取每个用户的用户个人资料图片?这是我尝试过的:

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_img = Profile.objects.all()
context = {
    'all_img': all_img,
}

$(function() {
var availableTags = [
  {% for user in all_img %}{% if user.profile_pic %}
    "<img src='{{ user.profile_pic.url }}'>" + "{{user|safe}}", 
  {% endif %}{% endfor %}
];

$(".autocomplete").autocomplete({
source: availableTags,
})
});


STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

【问题讨论】:

    标签: javascript python jquery django


    【解决方案1】:

    我认为媒体 URL 和媒体根目录的问题 并请提供适当的代码结构 Django MEDIA_URL and MEDIA_ROOT

    【讨论】:

    • media_url 和 root 设置正确,当我在模板中执行此操作时显示图像,但在 jquery/javascript 中执行此操作时不显示。我将更新我的媒体网址和根目录。
    • 一次试试这个 ""+{{user|safe}}
    • 等一下,先告诉我你在availableTags中存储了什么??
    • 我正在使用自动完成功能来获取所有用户列表及其个人资料图片,我使用 availableTags 作为来源。这样当我在搜索框中输入“a”时,它会下拉所有包含“a”的用户名。我给img src加了+,还是不行
    • 我之前也发过另一个帖子,但显示的是默认图像,而不是用户的个人资料图片。这是链接:stackoverflow.com/questions/62356707/…
    猜你喜欢
    • 2021-05-15
    • 2021-10-03
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    相关资源
    最近更新 更多