ISEE小语
很喜欢一句话:“不要成为你该成为的人,而要成为你想成为的人。”
Django是一个高级的Python Web框架,它鼓励快速开发和干净、实用的设计。它遵循MVT(模型-视图-模板)架构模式。它是开源的,并拥有一个活跃的社区,这意味着它不断更新和改进。
Django包含了以下组件:
- ORM(对象关系映射器):允许你以Python类的形式定义数据模型,然后自动将其转换为数据库表。
- URL路由:可以设计干净、优雅的URL模式,并将它们映射到相应的视图函数。
- 视图:用于处理用户请求并返回响应。
- 模板:用于创建动态HTML响应页面。
- 表单处理:自动生成表单,并处理用户提交的数据。
- 用户认证和权限:内建的用户认证系统,包括用户账户、组、权限和基于cookie的用户会话。
- 管理界面:自动生成的管理界面,可以直接对数据进行管理。
- 国际化支持:支持多语言和时区处理。
Django的优点:
1. 完整性:Django提供了几乎所有开发网站所需的功能,包括用户认证、内容管理、站点地图等。
2. 高效性:它鼓励快速开发,可以帮助开发人员在短时间内从概念设计到产品发布。
3. 安全性:Django对多种网络攻击提供了保护,包括SQL注入、跨站点脚本(XSS)、跨站点请求伪造(CSRF)等。
4. 扩展性:它的设计十分灵活,可以扩展以满足从小型项目到大型企业级应用的需求。
5. 文档丰富:Django有一个非常完善的官方文档和大量的在线资源。
Django的缺点:
1. 组件耦合度较高:虽然Django提供了很多内建功能,但这些功能之间的耦合度较高,不如一些微框架灵活。
2. 性能:由于其全面性,Django可能不如一些专为速度优化的框架快。
3. 学习曲线:Django的功能丰富,对于初学者来说可能会有一定的学习曲线。
环境:
Pycharm
Python 3.9.0
安装:
pip install 以下所有的包
asgiref==3.8.1
Django==4.2.11
sqlparse==0.4.4
typing_extensions==4.10.0
tzdata==2024.1
新建django项目
我们以pycharm工具为例,新建一个名为“djangoProject”的项目。
File—>New Project
创建完成后,我们运行启动,看一下效果:
看到这个效果就已经启动成功了!
接下来,在浏览器中输入,并访问
http://127.0.0.1:8000/
(左右滑动查看完整代码)
django项目创建成功。
创建项目应用
一个 Django 项目可以包含多个应用,应用是执行某一特定功能的模块。在pycharm中,通过命令终端Terminal进入项目的venv环境。
通过以下命令创建一个新应用:
python manage.py startapp myapp
(左右滑动查看完整代码)
最终创建应用完成后的效果为 :
接下来,需要注册刚创建的myapp应用
找到settings.py里面的INSTALLED_APPS增加一条“myapp”内容
应用实例开发
第一:
我们创建一个书籍的Demo,下面是一个简单的Book 模型的示例,它包括书编号(no)、书名(name)、作者(author)和创建时间(created_at)字段。
其中models.py:
from django.db import models
# Create your models here.
class Book(models.Model):
no = models.CharField(max_length=50, unique=True, verbose_name="书籍编号")
name = models.CharField(max_length=200, verbose_name="书名")
author = models.CharField(max_length=100, verbose_name="作者")
created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
def __str__(self):
return self.name
class Meta:
verbose_name = "书籍"
verbose_name_plural = "书籍"
(左右滑动查看完整代码)
第二:
在Django中,admin.py 文件是用来将某个模型注册到Django的管理后台,以便你可以在管理界面进行增删改查操作。
其中admin.py的代码:
from django.contrib import admin
from myapp.models import Book
# Register your models here.
class BookAdmin(admin.ModelAdmin):
fields = ['no', 'name', 'author']
list_display = ['no', 'name', 'author', 'created_at']
search_fields = ['no', 'name']
list_filter = ['author', 'created_at']
list_per_page = 10
(左右滑动查看完整代码)
fields :管理台添加页面字段 list_display :页面列表显示的字段 search_fields :内容查询字段 list_filter :列表查询字段 list_per_page :每页面显示数据行数
数据库同步
数据库同步,伴随着django框架默认表的初始化和新应用表的创建,是django项目必要的一个环节。
Django默认使用的数据库为Sqlite。
在pycharm工具中,我们仍需要通过命令终端Terminal进入项目的venv环境。
再通过以下命令完成数据库的初始化和创建。
1、生成迁移文件:
python manage.py makemigrations
2、应用迁移到数据库中:
python manage.py migrate
最终效果是:
看到都执行OK,即为数据库表创建成功,看一下Sqlite中:
这个项目应用初步就已经完成了。
创建管理员账户
要在管理后台看新创建的应用,需要使用Django自带一个管理界面。它是用于管理你的项目。要访问它,你需要创建一个管理员账户。
在pycharm工具中,我们仍需要通过命令终端Terminal进入项目的venv环境。再通过命令进行创建管理员的用户和密码:
python manage.py createsuperuser
(左右滑动查看完整代码)
用户名:admin
邮箱为:123456789@qq.com
密码为:q12345678
在创建的过程中,会提示密码太过于简单(This password is too common),这个在自己测试的时候不影响,如果在正式项目中,为了安全性,请谨慎设置!
出现以上结果即为创建成功!
接下来重启项目,在浏览器中访问:
http://127.0.0.1:8000/admin/
输入用户名admin,密码 q12345678,登录
简单的管理后台则成功了!
最后,来验证测试一下吧~~
管理员admin显示信息正确
书籍模块,及添加页面显示正确
书籍列表页面显示正确
总结
小栈使用的Pycharm版本是PyCharm 2023.1,Python版本是3.9,所以在创建Django项目的时候,默认就安装了所依赖的django库。在快速搭建项目的时候非常之快。
其他版本不清楚,听说有的版本不会默认安装依赖库,遇到这个情况影响不大,无非就是手动安装一下,按照以上步骤操作即可。
小栈将源码分享,适合初学者。后续也会在这基础上分享一些小的项目!
点个“赞”和“在看”,是对小栈最大的支持!
后台回复“django”即可获取源码!
文章就分享到这儿,喜欢就点个赞吧!