django unable to open database file

unable to open database file sqlite3
django.db.utils.operationalerror: unable to open database file
sqlite3 operationalerror: unable to open database file
tippecanoe unable to open database file
sqlite3 operationalerror: unable to open database file windows
unable to open database file jupyter
theharvester unable to open database file
telethon unable to open database file

i am implementing a django web site,

the site goes to the hello world view:

http://ec2-107-20-20-19.compute-1.amazonaws.com/

views.py /home/ubuntu/djangoProj/micopiloto/portfolio

    # Create your views here.
    from django.http import HttpResponse 

    def view(request):
        return HttpResponse('Hello Worlsss9d!')

but i cannot see the amin site, I see this error: unable to open database file

> http://ec2-107-20-20-19.compute-1.amazonaws.com/admin/

settings.py `/home/ubuntu/djangoProj/micopiloto`


# Django settings for micopiloto project.

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    # ('Your Name', 'your_email@example.com'),
)

MANAGERS = ADMINS

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'thadb.db',                      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# On Unix systems, a value of None will cause Django to use the same
# timezone as the operating system.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'America/Chicago'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-us'

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True

# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale
USE_L10N = True

# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/home/media/media.lawrence.com/media/"
MEDIA_ROOT = ''

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
MEDIA_URL = ''

# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = ''

# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'

# URL prefix for admin static files -- CSS, JavaScript and images.
# Make sure to use a trailing slash.
# Examples: "http://foo.com/static/admin/", "/static/admin/".
ADMIN_MEDIA_PREFIX = '/static/admin/'

# Additional locations of static files
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)

# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#    'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

# Make this unique, and don't share it with anybody.
SECRET_KEY = '2&g_&k=+^(0t)1xf82m^=#0u6v1e!)nn7ixq*+2^h%4$mwlrsm'

# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
#     'django.template.loaders.eggs.Loader',
)

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)

ROOT_URLCONF = 'micopiloto.urls'

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
    'portfolio' 
)

# A sample logging configuration. The only tangible logging
# performed by this configuration is to send an email to
# the site admins on every HTTP 500 error.
# See http://docs.djangoproject.com/en/dev/topics/logging for
# more details on how to customize your logging configuration.
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler'
        }
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
    }
}

so i see the created thadb.db in my project folder,

i have the error:

Exception Value:    
unable to open database file

so I have $sudo chmod 777 thadb.db

but still get the same error,

is this because of the permission? should i set the folder to 777?

EDIT>>

As per suggested solution, i tried chmod root for the db and the root folder

-rwxrwxrwx 1 root     ubuntu   44032 2012-04-09 09:49 thadb.db
drwxrwxrwx 3 root   ubuntu 4096 2012-04-09 12:44 micopiloto

Still not working! ;(

i get this error:

Exception Value:    
unable to open database file

So how to make the admin show??

  • how will the security be affected?

thanks!

Here is an article that describes a solution to your problem:

http://www.pantz.org/software/sqlite/unabletoopendbsqliteerror.html

The solution is to make sure the directory containing the database file also has write access allowed to the process.

Also, Django has a page for this problem.

https://code.djangoproject.com/wiki/NewbieMistakes#DjangosaysUnabletoOpenDatabaseFilewhenusingSQLite3

django unable to open database file, Here is an article that describes a solution to your problem: http://www.pantz.org/ software/sqlite/unabletoopendbsqliteerror.html. The solution is� django unable to open database file. Ask Question Asked 8 years, 3 months ago. Active 1 year, 4 months ago. Exception Value: unable to open database file

ok, after much grappling got it to worked, so if another noob haves this problem this is part of the solution[ with making the db file n folder for the db with the right permissions]

the problem was the path for my db on the settings.py

i gave the whole path and then it worked ;)

/home/ubuntu/djangoProj/micopiloto/

thanks!

Why do I get sqlite error, "unable to open database file"?, From the Django says "Unable to Open Database File" when using SQLite3 section of the Newbie mistakes Django wiki page: make sure Apache can also write to the parent directory of the database. make sure none of the folders of the database file's full path starts with a number. in this case django is trying to open home/mario.. (notice no starting slash). Since it cannot open the file, it throws db error. To solve it, I use three slashes instead of two (sqlite:///%s), which seems to work fine in ubuntu and windows. But I'm not sure if that's the best solution.

https://stackoverflow.com/a/10071711/11124205

works for me. Try to let www-data write in database directory to let sqlite create the journal file.

Unable to open database file : django, Unable to open database file. Anyone know why I might be getting this error? I get it when I try to login to my website's /admin/. The rest of the website works fine . When working on Django projects, I sometimes found it hard to maintain a strict database structure without losing data when my business needs evolved. I wrote a small article on a cool tool offered by Django migrations that helped me on several projects :

django.db.utils.OperationalError: unable to open database file , django.db.utils.OperationalError: unable to open database file #48. Closed. mariodev opened this issue on Dec 10, 2013 � 2 comments. Closed� Django says "Unable to Open Database File" when using SQLite3 Problem. You're using SQLite3, your DATABASE_NAME is set to the database file's full path, the database file is writeable by Apache, but you still get the above error. Solution. Make sure Apache can also write to the parent directory of the database.

Operational Error:unable to open database file � Issue #2393 , Thanks. Using: Apache 2.4, mod_wsgi 4.6.5, Graphite, Carbon, Whisper 1.1.3, Python 2.7, Django 1.11.17,� Django closes the connection once it exceeds the maximum age defined by CONN_MAX_AGE or when it isn’t usable any longer. In detail, Django automatically opens a connection to the database whenever it needs one and doesn’t have one already — either because this is the first connection, or because the previous connection was closed.

django.db.utils.OperationalError: unable to open database file, attempt to write a readonly database django iis sqlalchemy exc operationalerror: (sqlite3 operationalerror) unable to open database file could not open database� Make sure that the folder does not start with the full path to the database files with a number. Check the full path containing the db directory. Make sure that the /tmp directory is globally writable. Make sure that the path to the database specified in settings.py is a complete path.

Comments
  • If you are the owner of the file and you want to restrict access to that file I think that chmod 700 would be what you need. I you have knowledge and experience with chmod then you undoubtedly understand.
  • hi, thanks, i tried this solution but still not working, i have chown for root the db and the root folder for the app, but still not showing the admin, what else could it be?, thanks
  • That does work but writing a full path is not a recommended thing, as references should be relative, preferably. But I bet you know all of this.