Django开发实践指南 - Web应用

浅笑安然 2020-02-21 ⋅ 19 阅读

简介

Django是一个开源的Web应用框架,使用Python编写,广泛应用于快速开发高质量的Web应用程序。它提供了强大的数据库支持,使开发人员可以轻松地与各种类型的数据库进行交互。

本文将介绍Django开发中关于Web应用开发与数据库的实践指南。

安装与配置

首先,确保已经安装了Python和pip工具。然后,通过以下命令安装Django:

$ pip install django

安装完成后,可以通过以下命令检查是否安装成功:

$ django-admin --version

接下来,在一个新的目录下创建一个Django项目:

$ django-admin startproject myproject

进入项目目录:

$ cd myproject

运行开发服务器:

$ python manage.py runserver

在浏览器中访问http://localhost:8000,如果看到Django的欢迎页面,则说明安装与配置成功。

创建数据库模型

Django使用ORM(对象关系映射)来与数据库进行交互。ORM允许我们使用Python代码来描述数据库模型,而无需直接编写SQL语句。

首先,在Django项目中创建一个新的应用程序:

$ python manage.py startapp myapp

然后,在myapp/models.py文件中定义数据库模型:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=200)
    author = models.CharField(max_length=100)
    publication_date = models.DateField()

    def __str__(self):
        return self.title

上述代码定义了一个Book模型,包含了书籍的标题、作者和出版日期。__str__方法用于在终端中以可读的方式显示对象。

接下来,运行以下命令,创建数据库表:

$ python manage.py makemigrations
$ python manage.py migrate

数据库操作

现在我们可以使用Django的数据库API来进行数据库操作了。

添加数据

myapp/views.py文件中创建一个视图函数,用于处理添加书籍的表单:

from django.shortcuts import render
from .models import Book

def add_book(request):
    if request.method == 'POST':
        title = request.POST['title']
        author = request.POST['author']
        publication_date = request.POST['publication_date']

        book = Book(title=title, author=author, publication_date=publication_date)
        book.save()

        return render(request, 'success.html')
    
    return render(request, 'add_book.html')

上述代码接收POST请求中的表单数据,并创建一个新的Book对象,然后保存到数据库中。最后,返回一个成功页面。

显示数据

我们可以使用Django的模板引擎来显示数据库中的数据。在myapp/views.py文件中创建一个视图函数,用于展示书籍列表:

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})

上述代码使用Book.objects.all()查询数据库中的所有书籍,并将其传递给模板引擎。

删除数据

myapp/views.py文件中创建一个视图函数,用于处理删除书籍的请求:

from django.shortcuts import redirect
from .models import Book

def delete_book(request, book_id):
    book = Book.objects.get(id=book_id)
    book.delete()
    return redirect('book_list')

上述代码根据书籍的id获取书籍对象,并删除它。最后,重定向到书籍列表页面。

总结

本文介绍了Django开发中关于Web应用开发与数据库的实践指南。我们学习了如何安装与配置Django,创建数据库模型,以及进行数据的添加、显示和删除操作。

Django提供了丰富的工具和功能,使开发Web应用变得更加简单和高效。希望本文对您有所帮助,祝您在Django开发中取得成功!

参考链接:


全部评论: 0

    我有话说: