django项目中如何将图像文件从数据库传递到html

django项目中如何将图像文件从数据库传递到html,html,django,python-3.x,forms,Html,Django,Python 3.x,Forms,我尝试了许多解决办法。但我无法修复和解决。我无法将用户的图像文件传递到我的html页面。但我可以访问并传递特定用户数据库中的所有元素。当我尝试访问用户的图像文件时,它只返回图像的文件路径。请帮我解决这个问题 型号.py class registration(models.Model): First_Name =models.CharField(max_length=50) Last_name = models.CharField(max_length=50) Phon

我尝试了许多解决办法。但我无法修复和解决。我无法将用户的图像文件传递到我的html页面。但我可以访问并传递特定用户数据库中的所有元素。当我尝试访问用户的图像文件时,它只返回图像的文件路径。请帮我解决这个问题

型号.py

class registration(models.Model):


    First_Name =models.CharField(max_length=50)
    Last_name = models.CharField(max_length=50)
    Phone_number = models.BigIntegerField()
    Email_id = models.EmailField()
    Password = models.CharField(max_length=20)
    Conform_Password = models.CharField(max_length=20)
    Register_No = models.BigIntegerField(primary_key=True)
    profile_pic = models.ImageField(upload_to="Profile")

    def __str__(self):
        return self.First_Name
def login(request, *args, **kwargs):

 if request.method == 'POST':
     user_Name=int(request.POST["stu_uname"])
     pass_word=request.POST["stu_pwd"]

     get_user_name = registration.objects.filter(Register_No = user_Name).exists()
     if get_user_name is True:
         check_pwd = registration.objects.values('Password').filter(Register_No = user_Name)
         for check in check_pwd:
             pwd = check['Password']
                     if pwd == pass_word:
             user_objects = get_objects(user_Name)
             return render(request, "stu_profile.html", {'userObj': user_objects})
         else:
             return HttpResponse("<h1> Password is incorrect</h1>")
     else:
         return HttpResponse("<h1> User name is incorrect </h1>")
 return redirect('student')
def get_objects(name):

 check_objects = registration.objects.values().filter(Register_No = name)
 for check in check_objects:
     values = check   
 return values
MEDIA_ROOT = os.path.join(BASE_DIR, 'Pictures/') 
MEDIA_URL = '/Pictures/'

视图.py

class registration(models.Model):


    First_Name =models.CharField(max_length=50)
    Last_name = models.CharField(max_length=50)
    Phone_number = models.BigIntegerField()
    Email_id = models.EmailField()
    Password = models.CharField(max_length=20)
    Conform_Password = models.CharField(max_length=20)
    Register_No = models.BigIntegerField(primary_key=True)
    profile_pic = models.ImageField(upload_to="Profile")

    def __str__(self):
        return self.First_Name
def login(request, *args, **kwargs):

 if request.method == 'POST':
     user_Name=int(request.POST["stu_uname"])
     pass_word=request.POST["stu_pwd"]

     get_user_name = registration.objects.filter(Register_No = user_Name).exists()
     if get_user_name is True:
         check_pwd = registration.objects.values('Password').filter(Register_No = user_Name)
         for check in check_pwd:
             pwd = check['Password']
                     if pwd == pass_word:
             user_objects = get_objects(user_Name)
             return render(request, "stu_profile.html", {'userObj': user_objects})
         else:
             return HttpResponse("<h1> Password is incorrect</h1>")
     else:
         return HttpResponse("<h1> User name is incorrect </h1>")
 return redirect('student')
def get_objects(name):

 check_objects = registration.objects.values().filter(Register_No = name)
 for check in check_objects:
     values = check   
 return values
MEDIA_ROOT = os.path.join(BASE_DIR, 'Pictures/') 
MEDIA_URL = '/Pictures/'


我希望这对你有用

HTML页面

    <div class="pro_pic">

      <img src = "{{userObj.profile_pic}}"> #this image doesn't render. 

      <div>
        <p> {{userObj.First_Name}} {{userObj.Last_name}} </p>
      </div>

    </div>
{% load static %} 
{% static "img" as baseUrl %}

<div class="pro_pic">

      <img src = "{{userObj.profile_pic.url}}"> #this image doesn't render. 

      <div>
        <p> {{userObj.First_Name}} {{userObj.Last_name}} </p>
      </div>

    </div>
{%load static%}
{%static“img”作为baseUrl%}
#此图像无法渲染。
{{userObj.First_Name}{{userObj.Last_Name}


{%static”中的图像文件夹名作为baseurl“%}

1),即使您不想使用
对象。获取
您可以执行
对象。筛选(…)[:1]
以获取实例而不是列表-这将允许您摆脱模糊的for循环。2) 从呈现的HTML获取图像URL并尝试直接打开它-响应状态/错误消息是什么?嘿,兄弟,没有错误消息。我已经说过,我可以访问数据库中的所有内容,但是ImageField返回它存储的图像的文件路径。Picture是主媒体根文件夹,在该文件夹中my models.py创建了另一个文件夹,这是我的说明的原因。因此,当我访问ImageField时,我会得到图像的路径,如(“Pictures/Profile/something.jpg”)所示。请按照@arjun的建议更改模板代码(
…Profile\u pic.url
),从呈现页面获取完整url,复制此url并在另一个浏览器选项卡中打开。请将此URL(不是路径)和响应状态添加到您的问题。