попытка написать базу данных SQLite только для чтения, Django - PullRequest
0 голосов
/ 18 июня 2019

Я реализовал свои простые приложения Django на сервере, но мои формы для пользователей ничего не могут сохранить.

Мои настройки базы данных выглядят так:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

Моя ошибка, которую получает шаблонвыглядит так:

nvironment:


Request Method: POST
Request URL: http://68.183.76.239/wyniki-wyszukiwania/konta-bankowe/

Django Version: 2.2.2
Python Version: 3.5.2
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'app',
 'django_filters',
 'crispy_forms',
 'django_select2']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback:

File "/home/app/lib/python3.5/site-packages/django/db/backends/utils.py" in _execute
  84.                 return self.cursor.execute(sql, params)

File "/home/app/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py" in execute
  383.         return Database.Cursor.execute(self, query, params)

The above exception (attempt to write a readonly database) was the direct cause of the following exception:

File "/home/app/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
  34.             response = get_response(request)

File "/home/app/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  115.                 response = self.process_exception_by_middleware(e, request)

File "/home/app/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  113.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/home/app/app/app/views.py" in search_results_account
  149.             product_broken_form.save()

File "/home/app/lib/python3.5/site-packages/django/forms/models.py" in save
  458.             self.instance.save()

File "/home/app/lib/python3.5/site-packages/django/db/models/base.py" in save
  741.                        force_update=force_update, update_fields=update_fields)

File "/home/app/lib/python3.5/site-packages/django/db/models/base.py" in save_base
  779.                 force_update, using, update_fields,

File "/home/app/lib/python3.5/site-packages/django/db/models/base.py" in _save_table
  870.             result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)

File "/home/app/lib/python3.5/site-packages/django/db/models/base.py" in _do_insert
  908.                                using=using, raw=raw)

File "/home/app/lib/python3.5/site-packages/django/db/models/manager.py" in manager_method
  82.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "/home/app/lib/python3.5/site-packages/django/db/models/query.py" in _insert
  1186.         return query.get_compiler(using=using).execute_sql(return_id)

File "/home/app/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in execute_sql
  1335.                 cursor.execute(sql, params)

File "/home/app/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
  99.             return super().execute(sql, params)

File "/home/app/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
  67.         return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)

File "/home/app/lib/python3.5/site-packages/django/db/backends/utils.py" in _execute_with_wrappers
  76.         return executor(sql, params, many, context)

File "/home/app/lib/python3.5/site-packages/django/db/backends/utils.py" in _execute
  84.                 return self.cursor.execute(sql, params)

File "/home/app/lib/python3.5/site-packages/django/db/utils.py" in __exit__
  89.                 raise dj_exc_value.with_traceback(traceback) from exc_value

File "/home/app/lib/python3.5/site-packages/django/db/backends/utils.py" in _execute
  84.                 return self.cursor.execute(sql, params)

File "/home/app/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py" in execute
  383.         return Database.Cursor.execute(self, query, params)

Exception Type: OperationalError at /wyniki-wyszukiwania/konta-bankowe/
Exception Value: attempt to write a readonly database

Как добавить изменения, чтобы избавиться от ошибки?Я нашел похожие ответы на форуме, но я не нашел информации о том, как разрешить всем писать изменения в SQLite (чтобы ошибка исчезла).

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 18 июня 2019

Первое, на что я обращаю внимание, это наличие у пользователя, работающего с приложением Django, права на запись в файл db.sqlite.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...