欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > django小项目

django小项目

2025/5/21 12:15:37 来源:https://blog.csdn.net/weixin_42692164/article/details/144090656  浏览:    关键词:django小项目

Django 是一个高级的Python Web框架,鼓励快速开发和简洁、实用的设计。它的目标是让开发人员能够更加专注于程序的业务逻辑,而无需关注过多的细节。以下是介绍如何用Django进行基本的Web开发的一些步骤和示例。

安装Django
在开始之前,确保你已经安装了Python和pip(Python包管理工具)。然后,使用pip安装Django:

Copy

pip install django
创建Django项目
创建一个Django项目:一个Django项目包含了你整个网站的配置。你可以通过django-admin命令来创建一个新的项目:

Copy

django-admin startproject myproject
cd myproject
创建一个Django应用:在Django中,一个项目可以包含多个应用(app),每个应用都是一个独立的模块,负责处理项目的一个特定功能。使用以下命令创建一个新的应用:

Copy

python manage.py startapp myapp
添加应用到项目配置:在myproject/settings.py中,将你的应用添加到INSTALLED_APPS列表中:

Copy

INSTALLED_APPS = [

‘myapp’,
]
定义模型(Model)
模型负责定义数据库的结构。在myapp/models.py中定义你的模型:

Copy

from django.db import models

class Article(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
published_date = models.DateTimeField(auto_now_add=True)

def __str__(self):return self.title

生成和应用数据库迁移(Database Migration)
生成迁移文件:Django会追踪你对模型的更改,并生成相应的数据库迁移文件:

Copy

python manage.py makemigrations
应用迁移:将这些迁移应用到你的数据库,创建相应的表结构:

Copy

python manage.py migrate
创建视图(View)
视图决定了如何展示数据。在myapp/views.py中定义你的视图:

Copy

from django.shortcuts import render
from .models import Article

def index(request):
articles = Article.objects.all()
return render(request, ‘index.html’, {‘articles’: articles})
创建URL配置
在myapp目录下创建一个名为urls.py的文件,并定义URL模式:

Copy

from django.urls import path
from . import views

urlpatterns = [
path(‘’, views.index, name=‘index’),
]
确保在myproject/urls.py中包含你的应用的URL配置:

Copy

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘’, include(‘myapp.urls’)),
]
创建模板(Template)
在myapp目录下创建一个templates目录,并在其中创建一个index.html文件:

Copy

My Articles

Articles

  • {% for article in articles %}
  • {{ article.title }} - {{ article.published_date }}
  • {% endfor %}
运行开发服务器 现在,你可以运行Django的开发服务器来查看你的工作成果:

Copy

python manage.py runserver
打开你的浏览器,访问http://127.0.0.1:8000/,你应该可以看到一个文章列表的页面。

管理后台
Django提供了一个强大的管理后台。首先,创建一个超级用户,以便你能够登录管理界面:

Copy

python manage.py createsuperuser
然后,更新myapp/admin.py文件,注册你的模型:

Copy

from django.contrib import admin
from .models import Article

admin.site.register(Article)
现在,你可以访问http://127.0.0.1:8000/admin/并使用超级用户的凭据登录,管理你的文章。

通过这些步骤,你已经创建了一个简单的Django应用,能够显示数据库中的数据,并提供了一个基本的管理界面。Django还有许多其他功能和特性,例如表单处理、用户认证、中间件等,你可以根据需要进一步学习和探索。

在Django项目中,添加测试功能是一项重要的任务,它能确保你的代码在开发和修改过程中保持其正确性和稳定性。Django内置了对测试的支持,使用的测试框架是Python的unittest。以下是在Django中添加和运行测试的一些步骤和示例:

  1. 设置测试环境
    Django项目默认支持测试功能,并且推荐你把测试代码放在每个应用的tests.py文件中。但为了更好地组织测试代码,也可以把测试分成多个文件和目录。

  2. 编写测试用例
    在你的应用目录中,找到并编辑tests.py文件。我们将为之前建立的Article模型编写测试用例。

例如,在myapp/tests.py中:

Copy

from django.test import TestCase
from .models import Article

class ArticleModelTests(TestCase):

def test_article_creation(self):# 创建一个新的文章对象article = Article.objects.create(title="Test Article", content="Test content")# 检查对象是否正确创建self.assertEqual(article.title, "Test Article")self.assertEqual(article.content, "Test content")self.assertIsNotNone(article.published_date)
  1. 添加更多测试
    你可以添加更多测试来覆盖你的视图、表单、模板等。

例如,测试视图的示例:

Copy

from django.urls import reverse

class ArticleViewTests(TestCase):

def test_index_view(self):# 创建一些测试数据Article.objects.create(title="Test Article 1", content="Test content 1")Article.objects.create(title="Test Article 2", content="Test content 2")# 通过客户端请求视图response = self.client.get(reverse('index'))# 检查响应self.assertEqual(response.status_code, 200)  # 检查状态码self.assertContains(response, "Test Article 1")  # 检查内容self.assertContains(response, "Test Article 2")self.assertTemplateUsed(response, 'index.html')  # 检查使用的模板
  1. 运行测试
    使用manage.py运行测试。Django提供了一个简单的命令来运行所有的测试:

Copy

python manage.py test
该命令会自动发现并运行tests.py中的所有测试用例,并输出结果。

  1. 使用工厂库(可选)
    为了简化测试数据的创建,你可以使用 factory_boy 等第三方库。它能方便地生成测试数据,并且能让你的测试保持简洁、易读。

首先,安装factory_boy:

Copy

pip install factory_boy
然后,可以在tests.py中使用工厂来创建测试数据:

# myapp/tests.py
from django.test import TestCase
from .models import Articleclass ArticleModelTests(TestCase):def test_article_creation(self):# 创建一个新的文章对象article = Article.objects.create(title="Test Article", content="Test content")# 检查对象是否正确创建self.assertEqual(article.title, "Test Article")self.assertEqual(article.content, "Test content")self.assertIsNotNone(article.published_date)
  1. 其他测试功能
    测试表单:通过将表单数据传递到视图中并验证验证结果,以确保表单逻辑正确。
    测试中间件和信号:确保你的中间件和信号在预期情况下正确工作,可以模拟请求或者触发信号进行测试。
    持续集成:结合持续集成(CI)工具,如GitHub Actions、Travis CI或Jenkins,可以在每次代码提交或合并时自动运行测试,确保项目始终保持高质量。
    通过以上步骤和示例,你可以在Django项目中添加和运行测试功能,确保你的代码在开发和修改过程中保持其正确性和稳定性。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词