一篇文章学会Django-从无到有

文摘   科技   2024-04-05 20:33   北京  


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.1Django==4.2.11sqlparse==0.4.4typing_extensions==4.10.0tzdata==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.@admin.register(Book)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”即可获取源码!


     

文章就分享到这儿,喜欢就点个吧!



推荐阅读  点击标题可跳转


ISEE小栈
没有花里胡哨,简单才是王道。
 最新文章