Python中DJANGO简单测试实例

yizhihongxing

下面是详细讲解“Python中DJANGO简单测试实例”的完整攻略。

1. 简介

Django是一个高级Web框架,它基于Python语言构建。Django的官方文档提供很好的入门教程,但是这些教程在实践中可能会遇到一些问题。本文将提供一个更详细的DJANGO简单测试实例教程,其中包含了两个示例,可以帮助你更好地入门Django。

2. 示例一

2.1 创建Django项目

首先,我们需要创建一个新的Django项目。在终端中,切换到你希望保存项目的目录中。然后,运行以下命令:

django-admin startproject mysite

这条命令会创建一个名为mysite的Django项目。你可以将mysite替换成你喜欢的项目名称。

2.2 创建Django应用

接下来,我们需要在项目中创建一个Django应用。继续在终端中输入以下命令:

cd mysite
python manage.py startapp myapp

这条命令将创建一个名为myapp的Django应用程序。你可以将myapp替换成你喜欢的应用程序名称。

2.3 编写视图函数

在Django中,视图函数负责处理HTTP请求并返回响应。打开myapp/views.py文件,可以看到一个名为index的视图函数模板。我们可以将它修改为以下内容:

from django.shortcuts import render

def index(request):
    context = {'message': 'Hello, World!'}
    return render(request, 'myapp/index.html', context)

这个视图函数将在myapp/templates/myapp/index.html中查找模板,获取一个名为message的变量,并将其渲染成响应。

2.4 配置URL路由

我们需要为myapp创建一个URL路由。在mysite/urls.py中添加以下代码:

from django.urls import path
from myapp.views import index

urlpatterns = [
    path('', index, name='index'),
]

现在我们已经将myapp的URL路由配置为根目录。请注意,视图函数的名称是index,并且我们为其设置了一个名称index,因此我们可以在模板中使用{% url 'index' %}引用它。

2.5 编写模板

我们需要创建一个名为index.html的模板,以渲染视图函数中的message变量。在myapp/templates/myapp/index.html中编写以下内容:

<!DOCTYPE html>
<html>
<head>
    <title>Welcome to My App</title>
</head>
<body>
    <h1>{{ message }}</h1>
</body>
</html>

2.6 运行Django服务器

现在,我们可以运行Django服务器以查看我们的应用程序。在终端中输入以下命令:

python manage.py runserver

在浏览器中访问http://127.0.0.1:8000,你应该可以看到一个包含“Hello, World!”的页面,这就是我们之前在模板中设置的信息。

3. 示例二

3.1 创建Django项目与应用

在示例二中,我们将创建一个具有两个模型的Django应用程序,并使用内置的管理界面进行交互。

首先,我们需要创建一个新的Django项目,并在项目中创建一个Django应用。在终端中,切换到你希望保存项目的目录中。然后,运行以下命令:

django-admin startproject mysite
cd mysite
python manage.py startapp blog

这条命令将在项目中创建一个名为blog的Django应用程序。

3.2 定义模型

在Django中,模型定义了数据库中存储的数据结构。打开blog/models.py文件,并输入以下内容:

from django.db import models

class Category(models.Model):
    name = models.CharField(max_length=100)

    def __str__(self):
        return self.name

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

    def __str__(self):
        return self.title

Category模型定义了一个名为name的字符字段。Post模型包含一个名为title的字符字段,一个名为content的文本字段,以及两个自动更新的日期字段。categories是一个多对多的关系,用于将每个帖子连接到零个或多个类别。

3.3 迁移数据库

我们已经定义了模型,现在需要将它们应用到实际的数据库中。使用以下命令进行迁移:

python manage.py makemigrations
python manage.py migrate

这两个命令将在数据库中创建两个新的表,一个用于Category模型,另一个用于Post模型。

3.4 注册模型

到目前为止,我们已经创建了两个模型,并将它们应用到数据库中。现在我们需要将它们注册到管理界面中。

打开blog/admin.py文件,并添加以下内容:

from django.contrib import admin
from .models import Category, Post

admin.site.register(Category)
admin.site.register(Post)

这段代码告诉Django注册我们的模型,以便在管理界面中显示它们。

3.5 启动服务器并访问管理界面

现在,我们已经完成了所有的设置工作。在终端中输入以下命令以启动Django服务器:

python manage.py runserver

在浏览器中访问http://127.0.0.1:8000/admin,你将看到Django的内置管理界面。在这里,你可以向数据库中添加、编辑和删除帖子和分类,与数据库进行交互。

结论

到此,我们已经介绍了两个简单的Django测试实例,以帮助入门Django。希望这些示例可以帮助你进一步理解Django的工作方式和特性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中DJANGO简单测试实例 - Python技术站

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

相关文章

  • django部署到服务器使用manage.py runserver简单测试

    第一次把django项目部署到云服务器,为的是想快速看下远程访问效果,却意想不到踩中了好多坑 说明一下,用于生产的项目推荐使用nginx+uWSGI+virtualenv+django的,原因如下: https://www.cnblogs.com/duanlinxiao/p/10395946.html  本文只是说明真实生产的其中一步,将django代码快速…

    Django 2023年4月11日
    00
  • 让Django支持Sql Server作后端数据库的方法

    将Django配置为使用Sql Server作为后端数据库的方法主要有以下几个步骤: 安装Microsoft ODBC Driver for Sql Server。该驱动程序是Sql Server与Django之间的桥梁,用于将Django的SQL语句转换为Sql Server可以理解的格式。你可以在Microsoft的官网下载安装包(http://www.…

    Django 2023年5月16日
    00
  • vue+django rest framework

    简单回顾vue 首先强调: 修改源: npm config set registry https://registry.npm.taobao.org 创建脚手架: vue init webpack Vue项目名称 #记得把route的这个设置为yes,其他的设置为no 比如: Install vue-router? Yes 插件: axios,发送Ajax请…

    Django 2023年4月12日
    00
  • django之js模板插件artTemplate的使用

    安装:   方式1:artTemplate模板源码下载地址:https://aui.github.io/art-template/zh-cn/index.html   方式2:使用node.js进行安装:npm install art-template –save -dev 文档:   artTemplate 中文API文档地址:https://aui.g…

    Django 2023年4月13日
    00
  • django 权限设置-登录配置权限

    1.首先需要一个判断用户是否拥有这个权限的name来区分在主页上是否显示标签 在permission中加入 name=models.CharField(max_length=32, verbose_name=’url别名’,default=””) 2.在rabc.py 中加入一个空列表,用来存放关联的permission__name 来区分 左后注入sess…

    Django 2023年4月12日
    00
  • Django form表单

    我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。 Django form组件就实现了上面所述的功能。 总结一下,其实f…

    Django 2023年4月11日
    00
  • Django 内置权限扩展案例详解

    这里是针对“Django 内置权限扩展案例详解”的完整攻略,包含两个示例说明的详细讲解。 1. 示例一 1.1 案例描述 假设我们要实现一个博客系统,需要实现以下功能: 所有用户都可以浏览博客列表和单篇博客。 未登录用户不能对博客进行任何操作(包括新建、修改、删除和点赞)。 登录用户可以进行以下操作: 创建自己的博客文章。 修改自己创建的博客文章。 删除自己…

    Django 2023年5月16日
    00
  • Django Auth装饰器验证用户身份与权限

    Django Auth装饰器是一种基于装饰器的身份验证和授权工具,它可以帮助你快速而简便地限制用户的访问权限。在本文中,我们将深入了解Django Auth装饰器,并提供详细的代码示例,以便帮助你更好地理解它们的实现。 Django Auth装饰器的基本用法 Django Auth装饰器有多种用途,但最常用的就是验证用户身份。下面就是它的最基本用法: fro…

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