[英]Django login error: “attempt to write a readonly database” in IIS
我在 IIS 10 中安裝了一個 Django Web 應用程序,並將一些模型應用到db.sqlite3
但是當我嘗試登錄 django/admin/login 時遇到錯誤: OperationalError at /admin/login/attempt to write a readonly database
。
我在sqlite3 錯誤嘗試寫入只讀數據庫、 Django 管理后端、 嘗試寫入-只讀數據庫-django以及所有這些都提到更改數據庫文件夾的權限中找到了解決此問題的方法。 我通過取消選擇“ Read-only (Only applies to files in folder)
”選項Read-only (Only applies to files in folder)
更改該文件夾的權限,但似乎當我點擊“ Apply
按鈕時它沒有進行任何更改,因為我再次檢查該文件夾並且它具有Read-only
激活的選項。
問題:
db.sqlite3
工作?歡迎任何幫助!
對於您的第一個問題,您可以使用icacls
。 請參閱如何在 Windows 中使用命令行向用戶授予目錄權限?
對於您的第二個問題,您需要提供對database
的write
權限。 執行此操作的一種安全方法是使用您在 Django 管理工具中登錄計算機時使用的相同用戶名。 這樣,如果您是 Web 應用程序的管理員,那么您就是唯一可以直接訪問db.sqlite3
。
不建議授予其他用戶在db.sqlite3
寫入權限,因為此數據庫通常存儲您的 Web 應用程序的正確功能所必需的數據,即 Django 模型存儲在此數據庫中,如果它們被更改,則您的 Web應用程序可能會停止正常工作。
請按照以下步驟解決嘗試在 IIS 中寫入只讀數據庫的 Django 登錄錯誤:
使用以下命令在 Django Web 應用程序中創建超級用戶:
python manage.py createsuperuser
用戶名必須與您用於登錄計算機的用戶名相同。 密碼不必與您用於登錄機器的用戶名密碼相同。
搜索您的db.sqlite3
並右鍵單擊,然后點擊 Properties 選項。
Permissions for Users
框中驗證寫入選項在允許列中沒有選中標記。我在 IIS 上遇到了這個問題並通過這種方式解決了:
首先轉到此鏈接(從 10:30 到 11:12 觀看)並創建 Group User 。
然后按照下圖中的數字:
在此處輸入圖像描述並必須重新啟動 Web 服務。
如果此后您收到“無法打開數據庫文件”錯誤,您可以打開此鏈接並查看@Arkady 的第四個解決方案。
:
.------------------------------------------------- -------------------------------
@Arkady 說:我在 IIS 中打開 Sqlite 數據庫時遇到問題
(0x80004005): unable to open database file unable to open database file
幫助我解決問題的是將應用程序池的“身份”更改為“LocalSystem”
應用程序池 -> DefaultAppPool(或您正在使用的另一個池)-> 高級設置 -> 身份 -> LocalSystem
希望它會節省某人的時間......
.------------------------------------------------- ----------------------------------
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.