그래서 두 개의 다른 환경 (하나는 서버 장고, 다른 하나는 정적 파일)을 만들어야하는 webfaction 프로젝트가 있습니다.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/'
및 프로젝트 URL :
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}))
사전에 모두 감사