[英]Loading media files from a network drive in Django with Apache
我有一個 django 頁面,我試圖在其中添加存儲在 .network 驅動器中的橫幅圖像。
在開發環境中:
設置.py :
MEDIA_URL = '/媒體/'
MEDIA_ROOT = PureWindowsPath('//共享驅動器/文件夾/').drive
網址.py :
網址模式 = [
path('admin/', admin.site.urls),
......
......
]
urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
模型.py :
class WelcomePage(models.Model): departmentname = models.CharField(max_length=100,blank=True,null=True) bannerimage = models.ImageField(upload_to='DjangoPortal/welcome/images/',blank=True)
家.html :
<div class="card border-secondary mb-3">
<div class="card-body" style="padding: 0px !important;">
<img src="{{ pagedata.bannerimage.url }}" width="100%" />
</div>
</div>
通過以上設置,頁面完美運行
生產中:
以上所有設置保持不變。 在settings.py DEBUG =False 和 ALLOWED_HOSTS=[prod server ip, localhost]
在httpd.conf我在下面添加
定義 MEDIAROOT "//共享驅動器/文件夾/"
別名 /media "${MEDIAROOT}"
<目錄“${MEDIAROOT}”>
要求全部授予
</目錄>
但圖像未加載。 我在 Apache 重啟時遇到以下錯誤
** AH00526:C 的第 562 行出現語法錯誤:/Apache24/conf/httpd.conf:<Directory '//shared drive/folder/'> 路徑無效。**
我做錯了什么嗎?
技術規格為 Windows Server 2012 R2 + Python 3.9 + Django 3.0.1 + SQL Server+ Apachelounge 2.4
如果您處理過或知道這種情況,請指導。
在生產中保持與在環境開發中所做的相同的設置。
MEDIA_ROOT = PureWindowsPath('//共享驅動器/文件夾/').drive
它應該有效。
祝你有美好的一天
我設法解決了這個問題。
問題出在 httpd.conf 文件上
在 httpd.conf 中,設置必須更改為
別名 /media/ //共享驅動器/文件夾/
<Directory //shared drive/folder> - 沒有 " 標記
要求全部授予
</目錄>
並且 apache 服務必須由沒有管理員權限且有權訪問共享驅動器的特定用戶啟動
Rest 所有設置保持如上
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.