django如何使用自带的数据库

django如何使用自带的数据库

Django如何使用自带的数据库

Django自带的数据库是SQLite,它是一种轻量级的数据库,适合小型项目和开发阶段使用。配置简单、无需额外安装、开箱即用,这些特点使得SQLite成为Django初学者的理想选择。本文将详细介绍如何在Django项目中使用自带的SQLite数据库。

一、配置Django项目

1. 创建Django项目

首先需要安装Django,可以使用pip进行安装:

pip install django

安装完成后,可以创建一个新的Django项目:

django-admin startproject myproject

进入项目目录:

cd myproject

2. 配置数据库

Django创建项目时,默认会在settings.py文件中配置SQLite数据库。打开myproject/settings.py文件,可以看到如下配置:

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.sqlite3',

'NAME': BASE_DIR / "db.sqlite3",

}

}

配置简单:如上所示,Django已经为我们预配置了SQLite数据库。ENGINE指定了使用的数据库引擎,NAME指定了数据库文件的路径。

二、创建和迁移数据库

1. 创建应用程序

在Django项目中创建一个应用程序:

python manage.py startapp myapp

2. 创建模型

在应用程序的models.py文件中定义数据模型。例如,创建一个简单的Book模型:

from django.db import models

class Book(models.Model):

title = models.CharField(max_length=100)

author = models.CharField(max_length=100)

published_date = models.DateField()

3. 添加应用到项目

myproject/settings.py文件中的INSTALLED_APPS列表中添加新创建的应用:

INSTALLED_APPS = [

# ...

'myapp',

]

4. 生成迁移文件

运行以下命令生成迁移文件:

python manage.py makemigrations

5. 应用迁移

运行以下命令将迁移文件应用到数据库:

python manage.py migrate

这会在项目根目录下创建一个名为db.sqlite3的数据库文件。

三、使用Django ORM操作数据库

1. 创建数据

在Django的交互式shell中创建数据:

python manage.py shell

在shell中输入以下命令创建一个Book对象:

from myapp.models import Book

book = Book(title='Django for Beginners', author='William S. Vincent', published_date='2021-01-01')

book.save()

2. 查询数据

在shell中查询数据:

books = Book.objects.all()

for book in books:

print(book.title, book.author, book.published_date)

3. 更新数据

更新数据的方式非常简单:

book = Book.objects.get(id=1)

book.title = 'Advanced Django'

book.save()

4. 删除数据

删除数据也同样方便:

book = Book.objects.get(id=1)

book.delete()

四、在视图和模板中使用数据

1. 创建视图

myapp/views.py中创建一个视图,展示所有的Book对象:

from django.shortcuts import render

from .models import Book

def book_list(request):

books = Book.objects.all()

return render(request, 'book_list.html', {'books': books})

2. 配置URL

myapp/urls.py中配置URL:

from django.urls import path

from . import views

urlpatterns = [

path('books/', views.book_list, name='book_list'),

]

myproject/urls.py中包含应用的URL:

from django.contrib import admin

from django.urls import include, path

urlpatterns = [

path('admin/', admin.site.urls),

path('', include('myapp.urls')),

]

3. 创建模板

myapp/templates/目录下创建一个book_list.html文件,展示Book对象:

<!DOCTYPE html>

<html>

<head>

<title>Book List</title>

</head>

<body>

<h1>Book List</h1>

<ul>

{% for book in books %}

<li>{{ book.title }} by {{ book.author }} (Published: {{ book.published_date }})</li>

{% endfor %}

</ul>

</body>

</html>

五、管理后台

Django自带一个强大的管理后台,可以通过它管理数据库中的数据。

1. 创建超级用户

运行以下命令创建一个超级用户:

python manage.py createsuperuser

按照提示输入用户名、邮箱和密码。

2. 注册模型

myapp/admin.py中注册Book模型:

from django.contrib import admin

from .models import Book

admin.site.register(Book)

3. 访问管理后台

启动Django开发服务器:

python manage.py runserver

在浏览器中访问http://127.0.0.1:8000/admin/,使用创建的超级用户登录,即可看到并管理Book模型的数据。

六、总结

Django自带的SQLite数据库具有配置简单无需额外安装开箱即用等优点,非常适合开发阶段和小型项目。通过本文的介绍,你可以了解到如何配置和使用Django自带的数据库进行开发,包括创建和迁移数据库、使用Django ORM操作数据库、在视图和模板中展示数据以及使用Django管理后台管理数据。如果你需要更强大的功能或更高的性能,可以在生产环境中将数据库切换到其他数据库如PostgreSQL或MySQL。

相关问答FAQs:

1. 我应该如何配置Django来使用自带的数据库?

要使用Django自带的数据库,首先需要在Django项目的设置文件(settings.py)中进行配置。找到DATABASES字典,确保其中的'ENGINE'键的值为'django.db.backends.sqlite3'(如果你想使用SQLite数据库),或者其他数据库引擎的相应值。然后,在'NAME'键中指定数据库的名称,可以是绝对路径或相对路径。最后,确保'USER'和'PASSWORD'键为空,因为默认情况下,Django使用无需用户名和密码的SQLite数据库。

2. 如何创建一个模型类并在自带的数据库中进行数据存储?

首先,在Django应用程序的models.py文件中定义一个模型类,该类继承自Django的Model类。在模型类中,使用各种字段(例如CharField,IntegerField等)定义模型的属性。然后,在Django项目的根目录中运行makemigrations命令,以生成迁移文件。最后,运行migrate命令,将模型的定义应用到数据库中,从而创建相应的表。

3. 如何在Django视图中使用自带的数据库进行数据查询和操作?

要在Django视图中使用自带的数据库进行数据查询和操作,首先需要导入相应的模型类。然后,可以使用模型类的各种方法来进行数据查询,例如使用all()方法获取所有数据,使用filter()方法按条件筛选数据等。可以使用模型类的save()方法来保存数据,使用delete()方法来删除数据。通过在视图函数中调用这些方法,可以实现对自带数据库的数据操作。

文章包含AI辅助创作,作者:Edit2,如若转载,请注明出处:https://docs.pingcode.com/baike/2651059

(0)
Edit2Edit2
免费注册
电话联系

4008001024

微信咨询
微信咨询
返回顶部