DJango的创建和使用详解(默认数据库sqlite3)

Django的创建和使用详解(默认数据库sqlite3)

简介

Django是一个高层次的Python Web框架,全面支持MVC编程模式。Django的目标是让Web开发更加方便,让开发者可以专注于业务逻辑层面的开发,而无需关心低层次的底层细节。本文将介绍如何创建一个Django项目,并使用默认的sqlite3数据库。

准备工作

在开始创建Django项目之前,我们需要先安装Django。通过命令行输入以下命令即可安装:

pip install django

创建Django项目

通过以下命令创建Django项目:

django-admin startproject myproject

这将创建一个名为“myproject”的Django项目。其中,包含一个默认应用程序(称为“main”),以及一个名为“manage.py”的管理脚本。可以通过运行以下命令来测试服务是否正常:

python manage.py runserver

创建应用程序

“myproject”包含一个名为“main”的默认应用程序。为了创建新的应用程序,请运行以下命令:

python manage.py startapp myapp

这将创建一个名为“myapp”的新应用程序。在此之后,需要在主项目设置中注册新应用程序。打开“myproject/settings.py”,将“INSTALLED_APPS”中的字符串列表添加新应用程序的名称“myapp”。

创建模型

模型是Django中的一个重要概念,用于对数据进行建模。要创建模型,需要在“myapp/models.py”中定义一个类。以下示例演示如何创建一个模型类:

from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=30)
    age = models.IntegerField()

在这个例子中,我们创建了一个“Person”模型,具有“name”和“age”两个字段。

迁移数据库

在完成模型的创建之后,需要在数据库中创建相应的表。为此,需要运行以下命令:

python manage.py makemigrations myapp

然后运行:

python manage.py migrate

这将自动将模型同步到数据库中。

创建视图函数

视图函数按照MVC框架的模式,是模型和模板的桥梁。要创建视图函数,请打开“myapp/views.py”,并编写以下代码:

from django.shortcuts import render
from django.http import HttpResponse
from .models import Person

def index(request):
    persons = Person.objects.all()
    context = {"persons": persons}
    return render(request, "index.html", context)

在这个例子中,我们创建了一个名为“index”的视图函数,从数据库中获取所有Person的数据,并将它们传递到网页模板中。

创建网页模板

网页模板用于将数据和HTML元素混合在一起,并在浏览器中呈现。要创建网页模板,请通过以下命令在“myapp/templates”目录中创建一个名为“index.html”的新文件:

touch myapp/templates/index.html

然后,打开文件并编辑以下代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Person List</title>
</head>
<body>
    <h1>Person List</h1>
    <ul>
        {% for person in persons %}
        <li>{{ person.name }}: {{ person.age }}</li>
        {% endfor %}
    </ul>
</body>
</html>

显示数据

最后一步是要使网站能够显示数据。为此,需要让Django知道我们的路由是什么。打开“myproject/urls.py”,并添加以下代码:

from django.urls import path
from myapp import views

urlpatterns = [
    path("", views.index, name="index"),
]

这将将我们的“index”视图函数分配给站点的根URL。现在运行:

python manage.py runserver

打开浏览器,并前往http://127.0.0.1:8000/,您将看到所有Person的数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:DJango的创建和使用详解(默认数据库sqlite3) - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • 如何在一个Django中创建一个新的应用

    如何在一个Django项目中新建一个应用 先进入项目目录在命令行执行: python3 manage.py startapp app的名字 在setting中配置: INSTALLED_APPS = [ ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.contenttypes’, …

    Django 2023年4月9日
    00
  • Pycharm创建Django项目示例实践

    下面为您详细讲解“Pycharm创建Django项目示例实践”的完整攻略。 Pycharm创建Django项目示例实践 环境准备 安装Python环境:首先需要安装最新版Python环境,可以去Python官网下载安装,安装完成后可以在命令行中输入python -V查看Python的版本,如果成功安装,会显示Python的版本号。 安装Pycharm:Pyc…

    Django 2023年5月16日
    00
  • vscode搭建之python Django环境配置方式

    下面是“vscode搭建之python Django环境配置方式”的完整攻略,包括两条示例说明。 简介 Visual Studio Code是一款轻量级开源的代码编辑器,自带强大的代码补全和调试功能,在Python开发领域得到了广泛的应用。本篇攻略将介绍在VS Code中如何搭建Python Django环境。 环境准备 Python环境:请自行下载并安装P…

    Django 2023年5月16日
    00
  • 关于Django的序列化问题。serializers

      在DRF框架里,ModelSerializers是一个重要的组件。大大的帮组我们节省了数据序列化的过程,真的可以说是良心产品。接手的这个项目用的Django,前人的代码都是手动序列化的,为了保证风格的一致性我续写的代码也都是手动序列化。后来遇到一个问题:有个接口的查询结果是querySet里的数据有几千条,而且需要一次性返回,不能做分页处理。这一下几千条…

    Django 2023年4月15日
    00
  • django+js+ajax实现刷新页面的方法

    下面是关于“django+js+ajax实现刷新页面的方法”的完整攻略: 1. 整体思路 前端使用Ajax发送请求,后端使用Django返回结果,使用DOM API将结果更新到网页中,从而实现刷新页面的作用。 2. 示例一:实现无刷新删除数据 2.1. 前端实现 2.1.1. html 在html页面中,首先要引入jquery和实现删除的js代码: <…

    Django 2023年5月16日
    00
  • Django Admin 后台Admin继承UserAdmin增加用户密码不显示明文和用户登录不了的解决方法

    Django后台Admin继承UserAdmin增加用户不显示明文方法 1.在 models.py 中用户表 # 导包规范-1.Python标准模块 from django.db import models from django.contrib.auth.models import AbstractUser # AbstractUser继承原用django…

    Django 2023年4月13日
    00
  • 详解Python的Django框架中Manager方法的使用

    当开发基于Django框架的Web应用程序时,我们需要在模型中使用许多方法来管理数据。其中一个非常重要的方法是Manager方法。在本攻略中,我们将详细讲解Python的Django框架中Manager方法的使用,以及如何在您的应用程序中使用它来管理数据。 什么是Manager方法? Manager方法是一个用于管理Django模型中数据的对象。它允许您定义…

    Django 2023年5月16日
    00
  • django学习-16.返回给前端页面数据为json数据类型的3种方案

    1.前言 2.JsonResponse类的源码简单分析 2.1.JsonResponse类的源码如下所示 2.2.JsonResponse类的构造函数里的每个入参的大概含义和作用 3.【方案1:使用方法serializers】的具体方案实现流程 3.1.第一步:先编写相关代码内容的视图函数 3.2.第二步:在任一浏览器访问该网址【http://127.0.0…

    Django 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部