簡體   English   中英

使用 Apache 從 Django 中的網絡驅動器加載媒體文件

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

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