[英]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.