Django入门使用示例

yizhihongxing

以下是“Django入门使用示例”的完整攻略。

Django入门使用示例

本文将介绍Django的入门使用示例,包括如何创建Django项目和应用,如何定义模型,并进行数据迁移和数据查询等操作。本文的示例采用Django 3.2 版本。

创建Django项目和应用

首先,我们需要创建Django项目。在命令行中输入以下命令:

django-admin startproject mysite

其中mysite是项目的名称,可以根据需要自定义。

接下来,我们需要创建一个Django应用,这里我们以blog为例,在命令行中输入以下命令:

python manage.py startapp blog

其中blog是应用的名称,可以根据需要自定义。

定义模型

在Django中,模型是与数据库相关的类,它描述了数据在数据库中的结构。在blog应用中,我们可以定义一个Post模型,用来存储博客文章的信息。在blog/models.py文件中添加以下代码:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

其中,我们定义了一个Post模型,包含了title、content、created_at和updated_at四个属性,分别对应文章的标题、内容、创建时间和更新时间。

数据迁移

定义完模型后,我们需要将模型映射到数据库中,并创建相应的数据库表。在命令行中依次输入以下命令:

python manage.py makemigrations blog

以上命令会生成一个迁移文件。接下来,我们需要执行迁移操作:

python manage.py migrate

以上命令会根据迁移文件生成数据表。

数据查询

定义好模型和数据表后,我们可以进行数据的增删改查等操作。在blog/views.py文件中添加以下代码:

from django.shortcuts import render
from blog.models import Post

def post_list(request):
    posts = Post.objects.all()
    return render(request, 'blog/post_list.html', {'posts': posts})

其中,我们定义了一个post_list视图函数,用来显示所有的博客文章内容。这里我们使用了ORM(对象关系映射)的方式查询数据库,即使用Post.objects.all()获取了所有的文章数据。

在templates/blog目录下创建post_list.html文件,添加以下代码:

<!DOCTYPE html>
<html>
<head>
    <title>Blog</title>
</head>
<body>
    <h1>Blog</h1>
    {% for post in posts %}
        <div>
            <h2>{{ post.title }}</h2>
            <p>{{ post.created_at }}</p>
            <p>{{ post.content }}</p>
        </div>
    {% endfor %}
</body>
</html>

以上代码定义了一个HTML页面,用来展示所有博客文章的标题、创建时间和内容。其中,我们使用Django模板语言的for循环语句,依次输出每篇文章的信息。

最后,在urls.py文件中添加以下代码:

from django.urls import path
from blog.views import post_list

urlpatterns = [
    path('post_list/', post_list, name='post_list'),
]

以上代码定义了一个URL,用来访问post_list视图函数。

现在可以启动Django开发服务器,在浏览器中访问http://127.0.0.1:8000/post_list/即可查看博客文章列表。

示例2

对于示例2,我们假设我们需要创建一个新的Django应用,用来存储用户的注册信息。在命令行中输入以下命令:

python manage.py startapp accounts

接下来,我们创建一个User模型,用来存储注册用户的信息,在accounts/models.py文件中添加以下代码:

from django.db import models
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager

class UserManager(BaseUserManager):
    def create_user(self, email, password=None):
        if not email:
            raise ValueError("Email address is required")
        user = self.model(
            email = self.normalize_email(email)
        )
        user.set_password(password)
        user.save(using=self._db)
        return user

    def create_superuser(self, email, password=None):
        user = self.create_user(
            email = self.normalize_email(email),
            password = password
        )
        user.is_admin = True
        user.save(using=self._db)
        return user

class User(AbstractBaseUser):
    email = models.EmailField(max_length=255, unique=True)
    is_active = models.BooleanField(default=True)
    is_admin = models.BooleanField(default=False)

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    objects = UserManager()

以上代码定义了一个User模型,继承了Django内置的AbstractBaseUser类,并使用BaseUserManager类进行了模型管理(UserManager)。其中,我们定义了email、is_admin和is_active三个属性,分别对应用户的邮箱、是否为管理员和账户是否激活。同时,我们使用了ORM的方式定义了create_user和create_superuser方法,用来创建普通用户和超级用户。

接下来,我们需要创建数据表。在命令行中依次输入以下命令:

python manage.py makemigrations accounts

以上命令会生成一个迁移文件。接下来,我们需要执行迁移操作:

python manage.py migrate

以上命令会根据迁移文件生成数据表。

最后,我们可以在视图函数中使用ORM的方式进行数据查询、修改等操作。

以上就是“Django入门使用示例”的完整攻略,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django入门使用示例 - Python技术站

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

相关文章

  • django添加跨域头

    一、什么是跨域 浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域 二、浏览器的同源策略 同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制 三、同源的定义 如果两个页面的协议,端口(如果有指定)和主机都相同,则两个页面具有相同的源。我们也可以把它称为“协议/主…

    Django 2023年4月11日
    00
  • [13]Docekr09-实战 Docker版Django项目发布

    目录 Docker第三章:Docker版Django项目发布 docker版django项目发布过程 推送镜像到阿里云 腾讯云镜像加速 阿里云镜像加速 问题 思考? Django的运行是基于python的环境,加上django包。在docker中运行django,实现方式是从docker下载python镜像,然后安装django运行所依赖的包。在docker…

    Django 2023年4月11日
    00
  • django orm操作(1)

    MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 ORM是“对象-关系-映射”的简称。 View Code 回到顶部 单表操作 创建表 1  创建模型 创建名为book的ap…

    Django 2023年4月13日
    00
  • Django常见出错解决方案汇总-乾颐堂

    一、模板类型错误: 错误原因:在models中漏掉了return: class UserProfile(models.Model):      “””      功能说明:        扩展用户      ————————————————————————— …

    Django 2023年4月13日
    00
  • django中model下都有哪些方法

    通过名称检索模型的单个字段实例 _meta.get_field()返回给定一个字段名称的字段实例,如果没有找到具体给定的字段,将会引发一个FieldDoesNotExist 异常 from django.contrib.auth.models import User >>>User._meta.get_field(‘username’) &…

    Django 2023年4月13日
    00
  • django框架之drf:04、序列化器常用字段及参数,序列化器高级用法之source、定制字段数据的两种方法、多表关联反序列化的保存、ModelSerializer的使用

    Django框架之drf 目录 Django框架之drf 一、序列化器常用字段及参数 1、常用字段 2、常用字段参数 3、字段参数针对性分类 二、序列化器高级用法之source 1、定制字段名 三、定制字段数据的两种的方法 1、在序列化器类中定制 2、在模型表中定制 四、多表关联反序列化保存 1、新增接口 2、修改接口 五、反序列化字段校验(总结) 六、Mo…

    2023年4月10日
    00
  • 利用Python创建第一个Django框架程序

    下面是“利用Python创建第一个Django框架程序”的完整攻略。 1. 安装Python和Django 首先,需要安装Python和Django。在安装之前,需要确认一下本地是否已经安装了Python。如果你已经安装了Python,那么可以跳过这一步。 在Windows环境下,可以使用“Python官网”或“Anaconda”等软件安装包来进行Pytho…

    Django 2023年5月16日
    00
  • Django数据查询中对字段进行排序 Django数据查询中对字段进行排序

      第一种方法:使用order_by进行排序 Articlelist = Article.objects.filter(**kwargs).order_by(‘nid’) Articlelist = Article.objects.filter(**kwargs).order_by(‘-nid’) #倒序 Articlelist = Article.obje…

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