Django入门使用示例

以下是“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框架也有挺长时间了,但是一直都没有用过django的类视图,因为之前跟着网上教程学习时,觉得类视图是进阶的知识,可能目前还达不到吧 但今天在做项目的时候用到了,感觉真的太方便了吧,而且也没有想象中的那么难或者深奥呀,可能这就是对新知识的恐惧吧,呵呵~也就那样罢了 使用django的类视图首先要在app应用中的views.py文件中导入djan…

    Django 2023年4月9日
    00
  • Django实现简单登录的示例代码

    我会针对这个问题给出详细的解答。 首先,我会讲解Django框架中实现简单登录的原理,接着是一个简单的示例,最后是另一个更实用的示例。 原理 Django框架实现用户登录的核心原理是使用Session机制。在用户登录成功后,框架会在服务器端为该用户生成一个唯一的Session ID,并将Session ID返回给用户端,同时在服务器端为该Session ID…

    Django 2023年5月16日
    00
  • django基础知识之URLconf:

    在settings.py文件中通过ROOT_URLCONF指定根级url的配置 urlpatterns是一个url()实例的列表 一个url()对象包括: 正则表达式 视图函数 名称name 编写URLconf的注意: 若要从url中捕获一个值,需要在它周围设置一对圆括号 不需要添加一个前导的反斜杠,如应该写作’test/’,而不应该写作’/test/’ 每…

    Django 2023年4月13日
    00
  • Django小项目web聊天

    WEBQQ的实现的几种方式 1、HTTP协议特点 首先这里要知道HTTP协议的特点:短链接、无状态! 在不考虑本地缓存的情况举例来说:咱们在连接博客园的时候,当tcp连接后,我会把我自己的http头发给博客园服务器,服务器端就会看到我请求的URL,server端就会根据URL分发到相应的视图处理(Django的views里)。最后给我返回这个页面,当返回之后…

    Django 2023年4月13日
    00
  • django+mysql的使用示例

    下面我将为您详细讲解“Django + MySQL的使用示例”的完整攻略,包含两条示例说明。 示例一:连接MySQL数据库 1. 环境准备 首先,需要安装以下软件:- Python- Django- MySQL 2. 创建Django项目 使用以下命令创建一个名为mysite的Django项目: django-admin startproject mysit…

    Django 2023年5月16日
    00
  • Django项目部署搭建uWSGI工作环境

    安装uWSGI 在Linux系统中,可以使用以下命令安装uWSGI: sudo apt-get update sudo apt-get install build-essential python3-dev sudo pip3 install uwsgi 创建Django项目 使用Django创建一个新项目: django-admin startprojec…

    Django 2023年3月13日
    00
  • 在Django中操作MySQL数据库1:原生 sql 语句操作

    在 Django 中操作数据库有两种方式。第一种方式就是使用原生sql语句操作,第二种就是使用 ORM模型来操作。这里介绍第一种。 Python 操作 MySQL 数据库 Python 标准数据库接口为Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。 DB-API 是一个规范. 它定义了一系列必须的对象和数据库存取方…

    Django 2023年4月9日
    00
  • docker 部署django方式

    1 docker 部署django应用 1.1 基于python基础镜像 # 第一种方式:基于python基础镜像来做 cd /home mkdir myproject cd myproject docker run -di –name=myproject -p 8080:8080 -v /home/myproject:/home python:3.6 #…

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