所以我有一個webfaction項目,我需要創建兩個不同的環境,一個服務器django和一個服務器靜態文件。Django 1.6圖像上傳和媒體路徑
所以當我從管理面板上傳圖像時,我可以看到圖像放置在我定義的根中,但是具有完整路徑。當我返回圖像在我看來我得到我的domain.com/full/media/root/path/imagename
這會生成一個斷開的鏈接 - 當我去mydomain.com/uploads/image_name,我可以看到圖像文件是在那裏但是我的鏈接指向完整路徑,而不是root_url,
你能幫我一下嗎?我真的不明白,我怎麼能在我看來,解決這個圖像鏈接
<img src="{{ MEDIA_URL }}{{ mymodel.my_image }}" alt="{{ name }}" width="150" height="200" />
我明白有類似這樣的在這裏卻沒有一個人能正確地引導我關於如何隱藏或改變路徑,以多學科根 「上傳」
我有我的管理
class Movie(models.Model):
name = models.CharField(max_length=50)
def get_file_path(instance, filename):
ext = filename.split('.')[-1]
filename = "%s.%s" % (uuid.uuid4(), ext)
return os.path.join('/home/user/webapps/project/uploads/' , filename)
my_image = models.ImageField(upload_to = get_file_path, null=True, blank=True)
def __unicode__(self):
return self.name
工作正常,在我的設置:
MEDIA_ROOT = '/home/user/webapps/project/uploads/'
MEDIA_URL = '/uploads/'
和項目網址:
從django.conf.urls進口模式,包括從django.conf導入設置URL
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}))
謝謝大家提前