2017-09-25 49 views
1

Django WebアプリケーションをIIS 10にインストールしましたが、db.sqlite3にいくつかのモデルを適用しましたが、django/admin/loginにログインしようとしましたエラー:OperationalError at /admin/login/attempt to write a readonly databaseDjangoのログインエラー:IISで読み取り専用データベースを作成しようとしました

sqlite3 error attempt to write a read only databaseDjango admin backendattempt-to-write-a-readonly-database-djangoでこの問題の解決方法を見つけましたが、そのすべてがデータベースフォルダのアクセス許可を変更すると言われています。 Read-only (Only applies to files in folder)オプションの選択を解除してそのフォルダのアクセス許可を変更しましたが、Applyボタンを押したときにフォルダをもう一度チェックして、Read-onlyオプションが有効になっているため変更されていないようです。

質問:

  1. PowerShellで任意のコマンドを端末でこの権限を変更する方法はありますか?
  2. db.sqlite3を動作させるためにIISで追加の手順を実行する必要がありますか。

何か助けてください!

答えて

1

最初の質問では、icaclsを使用できます。投稿を参照してくださいHow to grant permission to users for a directory using command line in Windows?

2番目の質問では、databasewriteの許可を提供する必要があります。これを行うための安全な方法は、あなたのDjango管理ツールであなたのマシンにログインするのと同じユーザ名を使用することです。このようにして、あなたがウェブアプリケーションの管理者であれば、あなたはdb.sqlite3に直接アクセスできる唯一のユーザーです。

db.sqlite3に他のユーザーに書き込み権限を与えることはお勧めできません。通常、このデータベースには、Webアプリケーションの正しい機能に必要なデータが格納されています。つまり、Djangoモデルはこのデータベースに格納され、 Webアプリケーションが正しく動作しなくなる可能性があります。

IISで読み取り専用のデータベースを作成するためのDjangoのログインエラーの試みを解決するために、次の手順に従います。

python manage.py createsuperuser 

ユーザー名必要があります。

  1. はであなたのDjangoのウェブアプリでスーパーユーザを作成します。マシンにログインするために使用するユーザー名と同じである必要があります。パスワードは、マシンにログインするときに使用するユーザー名のパスワードと同じである必要はありません。

  2. db.sqlite3を検索し、右クリックして[プロパティ]オプションをクリックします。

  3. [セキュリティ]タブを選択すると、それぞれの権限を持つグループ名またはユーザー名が表示されます。通常、SYSTEMとAdministratorsにはすべての権限がチェックされていますが、これらの権限を持っていない限りUsersグループを変更する必要があります。このグループには、マシンにログインするためのユーザー名があるからです。
  4. Usersグループを選択し、Permissions for Usersボックスで、書き込みオプションに[許可]列にチェックマークがないことを確認します。
  5. [編集]オプションをクリックし、[ユーザー]グループを選択し、[ユーザーのアクセス許可]ボックスで[書き込み]オプションを選択します。「適用」→「OK」をクリックし、「適用」と「OK」を再度クリックします
  6. Django管理ログインページに戻り、スーパーユーザーとして作成したユーザー名を入力します。
+0

どうすればいいですか? –

+0

@AlejandroBautistaRamos、あなたは右のウィンドウを使用していますか? –

+0

はい、私はpowershellでchmod相当のものを調べようとしていました。 –

関連する問題