尝试编写只读数据库SQLite,Django

时间:2019-06-18 12:41:28

标签: django sqlite

我已经在服务器上实现了简单的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 :(得分:0)

我要寻找的第一位是运行Django应用的用户是否对db.sqlite文件具有写权限。