簡體   English   中英

媒體網址返回錯誤500 django

[英]Media Url returns error 500 django

有以下問題,我在settings.py中以以下方式配置:

RUTA_PROYECTO = os.path.dirname(os.path.realpath(__file__))
MEDIA_ROOT = os.path.join(RUTA_PROYECTO,'fotos')
MEDIA_URL = '/media/'

在我的網址文件中,我有:

from django.conf.urls.static import static

Urlpatterns = patterns ('',
....
) + static (settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)

我的模特兒有

def upload_name(instance, filename):
return '{}/{}'.format(instance.persona.nro_doc, filename)

class FotosPersona(models.Model):
    persona        = models.ForeignKey(Personas,related_name='fotos_persona')
    tipo_foto      = models.CharField(max_length=25)
    foto           = models.ImageField(upload_to=upload_name)
    fecha          = models.DateField(auto_now=True)

    class Meta:
        db_table = 'fotos_persona'

當我保存數據時,圖像存儲在以下結構內的文件夾中:

Project
 |
 |
 |----Project
         |---- settings.py
         |---- media
         |---- urls.py
         .....

但是,當我想在模板中顯示圖像時,它不會顯示。

在瀏覽器中輸入

http:// localhost:8000 / media / other_folder / image_file.jpg網址

它返回我一個HTTP 500錯誤。

我知道我的回答有點晚了,但是考慮到您的設置,這可能會很有用。 本質上,您已將MEDIA_URL指定為“ / media /”。 沒關系

但是,您將在參考URL模式時遇到問題。 您可能會具有以下通用網址:

path('<index>', views.index, name='index'),

在這種情況下,此URL將處理來自媒體URL的所有內容。 盡管這不是理想的選擇,但出於開發目的,我建議將您的URL模式更改為以下內容:

urlpatterns = static (settings.MEDIA_URL, document_root = settings.MEDIA_ROOT) + [
    ...
    ]

現在,在處理URL模式的層次結構中,“ / media /”將出現在具有常規模式的所有URL之前。 現在,媒體URL將先處理。

希望這可以解決您的查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM