Python Django 1.6图像上载和媒体路径

Python Django 1.6图像上载和媒体路径,python,django,views,media-url,Python,Django,Views,Media Url,所以我有一个关于Web派系的项目,我需要创建两个不同的环境,一个用于服务器django,另一个用于服务器静态文件 因此,当我从管理面板上传一个图像时,我可以看到该图像被放置在我定义的根目录中,但具有完整路径。当我返回视图中的图像时,我会得到我的domain.com/full/media/root/path/imagename 这会生成一个断开的链接-当我转到mydomain.com/uploads/image_name时,我可以看到图像文件在那里,但是我的链接指向的是完整路径,而不是根url 你

所以我有一个关于Web派系的项目,我需要创建两个不同的环境,一个用于服务器django,另一个用于服务器静态文件

因此,当我从管理面板上传一个图像时,我可以看到该图像被放置在我定义的根目录中,但具有完整路径。当我返回视图中的图像时,我会得到我的domain.com/full/media/root/path/imagename

这会生成一个断开的链接-当我转到mydomain.com/uploads/image_name时,我可以看到图像文件在那里,但是我的链接指向的是完整路径,而不是根url

你能帮我做这个吗?我真的不明白我怎么能在我看来纠正这个图片链接

<img src="{{ MEDIA_URL }}{{ mymodel.my_image }}" alt="{{ name }}" width="150" height="200" />
<img src="{{ mymodel.my_image.url }}" alt="{{ mymodel.name }}" width="150" height="200" />
在我的设置中:

MEDIA_ROOT = '/home/user/webapps/project/uploads/'
MEDIA_URL = '/uploads/'
和项目url:

从django.conf.url导入模式,包括,url 从django.conf导入设置

  from django.contrib import admin
  admin.autodiscover()

  urlpatterns = patterns('',      
    url(r'^admin/', include(admin.site.urls)),
  )


if settings.DEBUG:
urlpatterns += patterns('',
(r'^uploads/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT}))
来自django.contrib导入管理
admin.autodiscover()
urlpatterns=模式(“”,
url(r“^admin/”,包括(admin.site.url)),
)
如果设置为.DEBUG:
urlpatterns+=模式(“”,
(r“^uploads/(?P.*)$”,“django.views.static.service”{
“document_root”:settings.MEDIA_root})
提前感谢大家

您可以使用:

{{ mymodel.my_image.url }}

首先,您应该为模型创建一个图像字段,并在其中定义要上载图像的位置:

class mymodel(models.Model):
    name = models.CharField(max_length=50)
    my_image = models.ImageField(blank=True, null=True,upload_to='/home/user/webapps/project/uploads/')
之后,如果要在从数据库获取模型对象后显示图像,请在模板中尝试以下操作:


<img src="{{ mymodel.my_image.url }}" alt="{{ mymodel.name }}" width="150" height="200" />