jlzzjlzz亚洲乱熟在线播放

系統城裝機大師 - 唯一官網:www.farandoo.com!

當前位置:首頁 > 數據庫 > SQLite > 詳細頁面

django 連接數據庫 sqlite的例子

時間:2019-12-04來源:系統城作者:電腦系統城

Aphorism

the fight is worth it.

django models 連接 sqlite 數據庫

django 版本為 1.11.7

在 blog 項目下創建一個 app article :python manage.py startapp article

在 blog 項目結構下會多出一個 article 目錄

在 article 下面的 models.py 文件中輸入


 
  1. from django.db import models
  2. class Article(models.Model):
  3. name = models.CharField('名稱',max_length = 30)
  4. age = models.CharFiels('年齡',max_length = 5)
  5. class Meta:
  6. db_table = 'Article'

step4: 在 子blog 目錄中 修改 setting.py 文件


 
  1. - 要連接到哪種數據庫 : sqlite ? mysql?
  2. - 連接的數據庫路徑

下面這種配置表示:

1. sqlite 數據庫 和 在項目根目錄下 創建一個 article.db 數據庫文件

2. 數據庫的類型 以及 數據庫的存儲位置


 
  1. DATABASES = {
  2. 'default': {
  3. 'ENGINE': 'django.db.backends.sqlite3',
  4. 'NAME': os.path.join(BASE_DIR, 'article.db'),
  5. }
  6. }

step5: 執行 python manage.py makemigrations

改動了 model.py的內容之后執行下面的命令:python manger.py makemigrations相當于 在該app下建立 migrations目錄,并記錄下你所有的關于modes.py的改動,比如0001_initial.py, 但是這個改動還沒有作用到數據庫文件

cmd 中會顯示


 
  1. Migrations for 'article':
  2. article\migrations\0001_initial.py
  3. - Create model Article

step6: 執行 python manage.py migrate

在第5步之后執行命令 將該models.py改動 作用到數據庫文件,說明 /blog/article數據庫文件已經被改變了,生成表格或者操作了數據

cmd 中 顯示:


 
  1. (blog) C:\Users\by\Desktop\review\python\blog\blog>python manage.py migrate
  2. Operations to perform:
  3. Apply all migrations: admin, article, articles, auth, contenttypes, sessions
  4. Running migrations:
  5. Applying contenttypes.0001_initial... OK
  6. Applying auth.0001_initial... OK
  7. Applying admin.0001_initial... OK
  8. Applying admin.0002_logentry_remove_auto_add... OK
  9. Applying article.0001_initial... OK
  10. Applying articles.0001_initial... OK
  11. Applying contenttypes.0002_remove_content_type_name... OK
  12. Applying auth.0002_alter_permission_name_max_length... OK
  13. Applying auth.0003_alter_user_email_max_length... OK
  14. Applying auth.0004_alter_user_username_opts... OK
  15. Applying auth.0005_alter_user_last_login_null... OK
  16. Applying auth.0006_require_contenttypes_0002... OK
  17. Applying auth.0007_alter_validators_add_error_messages... OK
  18. Applying auth.0008_alter_user_username_max_length... OK
  19. Applying sessions.0001_initial... OK

step7: 執行 python manage.py sqlmigrate app_name 0001

這個命令用于查看 生成的 sql語句, 這個命令相當于之前 django 版本中的 sqlall

cmd 中顯示:


 
  1. (blog) C:\Users\by\Desktop\review\python\blog\blog>python manage.py sqlmigrate article 0001
  2. BEGIN;
  3. --
  4. -- Create model Article
  5. --
  6. CREATE TABLE "Article" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name"varchar(30) NOT NULL, "age" varchar(5) NOT NULL);
  7. COMMIT;

step8: 執行命令 python manage.py dbshell

可以看看數據中是否生成了對應的表,顯然本例子中 Article 生成,Articles 是我之前啟動的另一個 app

或者 sqlite3 article.db 然后 .tables也可以查看

cmd 中


 
  1. (blog) C:\Users\by\Desktop\review\python\blog\blog>python manage.py dbshell
  2. SQLite version 3.7.15.2 2013-01-09 11:53:05
  3. Enter ".help" for instructions
  4. Enter SQL statements terminated with a ";"
  5. sqlite> .tables
  6. Article auth_user_groups
  7. Articles auth_user_user_permissions
  8. auth_group django_admin_log
  9. auth_group_permissions django_content_type
  10. auth_permission django_migrations
  11. auth_user

使用 python shell insert 數據到 article.db 中

execute python manage.py shell 進入項目的 python 命令執行環境中

使用python 語法往數據庫 insert 數據


 
  1. >>> from article.models import Article
  2.  
  3. ## 等價寫法: from articles import models.Article
  4.  
  5.  
  6. >>> Article.objects.create(name='tom',age='12')
  7. <Article: Article object>
  8. >>> Article.objects.create(name='juice',age='13')
  9. <Article: Article object>

查看article.db 數據庫:


 
  1. sqlite article.db
  2. select * from article
  3. sqlite> select * from Article
  4. ...> ;
  5. 1|tom|12
  6. 2|juice|13
  7. sqlite>
  8.  

以上這篇django 連接數據庫 sqlite的例子就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持我們。

分享到:

相關信息

系統教程欄目

欄目熱門教程

人氣教程排行

站長推薦

熱門系統下載