Can I make the Django database path (for sqlite3) "cross-platform"?

Active3 hr before
Viewed126 times

6 Answers


What can cause network packets consisting of PUU? , Can a random forest learn time series correlations? ,The problem is that, in the file for a particular project, I specify the database path like so:,I'm in the process of learning Django and Python (as well as programming in general). For the sake of simplicity, I am using sqlite3 as my database while I'm going through tutorials for Django and such.

Using relative paths in is a common enough to be considered a best practice by many. Something like this may help.

from os.path
import dirname, join

PROJECT_DIR = dirname(__file__)

   'NAME': join(PROJECT_DIR, 'your_db_name.db'),
load more v

This process is automatic. Your browser will redirect to your requested content shortly.,Please allow up to 5 seconds…,Please enable Cookies and reload the page.


This will create the sqlite.db file inside the data folder. Keep in mind that the directory data needs to be created beforehand. The file extension .db is also optional—SQLite will just create a binary file with the name we provide it with.,Now, let's connect to this database using our Python script and try to read these tables.,The dump.sql content will look like below.,Notice that I have connected directly to the database that I used from the Python script. We can do so by using sqlite3 /path/to/file.

Sqlite3 comes packaged with Python by default and there is no need to install any additional libraries. Let's go ahead and import Sqlite3 and then create our database:

import sqlite3

conn = sqlite3.connect('sqlite.db')
load more v

A standalone command-line program is provided in SQLite's distribution. It can be used to create a database, define tables, insert and change rows, run queries and manage an SQLite database file. It also serves as an example for writing applications that use the SQLite library. ,In 2011, Hipp announced his plans to add a NoSQL interface (managing documents expressed in JSON) to SQLite databases and to develop UnQLite, an embeddable document-oriented database.[16] ,SQLite stores the entire database (definitions, tables, indices, and the data itself) as a single cross-platform file on a host machine. It implements this simple design by locking the entire database file during writing. SQLite read operations can be multitasked, though writes can only be performed sequentially. ,COM (ActiveX) wrapper making SQLite accessible on Windows to scripted languages such as JScript and VBScript. This adds SQLite database capabilities to HTML Applications (HTA).[38]

load more v

If you run " dbshell" on Windows when DATABASE_ENGINE is set to "mysql" it looks like it doesn't correctly pass the database details on the command line because it gives this error: , Looks like it needs doing for other DBs too. Just added a patch for sqlite3. , Strangely it doesn't give this error until just *after* the script has finished and you're back at the cmd prompt. So it looks like it's running mysql in the background! Manually running "mysql --host=blah --user=blah --password=blah dbname" works fine. , Seems like there's some issue with pipe redirection going on... any ideas why this doesn't work with the above fix?

If you run " dbshell" on Windows when DATABASE_ENGINE is set to "mysql" it looks like it doesn't correctly pass the database details on the command line because it gives this error:

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

ERROR 2003(HY000): Can 't connect to MySQL server on '
localhost ' (10061)
load more v

Summary: in this tutorial, you will learn step by step on how to download and use the SQLite tools to your computer.,In this tutorial, you have learned how to download and install SQLite tools on your computer. Now, you should be ready to work with SQLite. If you have any issues with these above steps, feel free to send us an email to get help.,Home » SQLite Tutorial » How To Download & Install SQLite Tools,Besides the SQLite Studio, you can use the following free SQLite GUI tools:

and navigate to the C:\sqlite folder.

.wp - block - code {
      border: 0;
      padding: 0;

   .wp - block - code > div {
      overflow: auto;

   .shcb - language {
      border: 0;
      clip: rect(1 px, 1 px, 1 px, 1 px); -
      webkit - clip - path: inset(50 % );
      clip - path: inset(50 % );
      height: 1 px;
      margin: -1 px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1 px;
      word - wrap: normal;
      word - break: normal;

   .hljs {
      box - sizing: border - box;

   .hljs.shcb - code - table {
      display: table;
      width: 100 % ;

   .hljs.shcb - code - table > .shcb - loc {
      color: inherit;
      display: table - row;
      width: 100 % ;

   .hljs.shcb - code - table.shcb - loc > span {
      display: table - cell;

   .wp - block - code code.hljs: not(.shcb - wrap - lines) {
      white - space: pre;

   .wp - block - code code.hljs.shcb - wrap - lines {
      white - space: pre - wrap;

   .hljs.shcb - line - numbers {
      border - spacing: 0;
      counter - reset: line;

   .hljs.shcb - line - numbers > .shcb - loc {
      counter - increment: line;

   .hljs.shcb - line - numbers.shcb - loc > span {
      padding - left: 0.75 em;

   .hljs.shcb - line - numbers.shcb - loc::before {
      border - right: 1 px solid #ddd;
      content: counter(line);
      display: table - cell;
      padding: 0 0.75 em;
      text - align: right; -
      webkit - user - select: none; -
      moz - user - select: none; -
      ms - user - select: none;
      user - select: none;
      white - space: nowrap;
      width: 1 % ;
C: \cd c: \sqlite
C: \sqlite >
load more v

Other "django-database" queries related to "Can I make the Django database path (for sqlite3) "cross-platform"?"