0


【Django】从零开始的Web前端后端搭建

Django 是一个由 Python 写成的开放源代码的 Web 应用框架,许多成功的网站和APP都基于Django。Django是一个强大的Python Web框架,它遵循MTV(Model-Template-View)的软件设计模式,即模型(Model)、模板(Template)和视图(View)。MTV模式概念部分见知识点|MTV模式(Model-template-view)。

安装Django

在已安装Python 3 和 pip的情况下,通过pip安装Django

  1. pip install django

创建项目

用 Django 自带的脚手架工具 django-admin 创建项目,命名为django_bulletin:

  1. django-admin startproject django_bulletin

项目骨架

  1. DJANGO_BULLETIN
  2. ├── django_bulletin // 项目全局文件目录
  3. ├── __init__.py // 初始化模块
  4. ├── asgi.py // 全局配置
  5. ├── settings.py // 全局配置
  6. ├── urls.py // 全局路由
  7. └── wsgi.py // WSGI服务接口(
  8. └── manage.py // 项目管理脚本

进入项目

用cd命令进入项目

  1. cd django_bulletin

​​​

运行开发服务器

  1. python manage.py runserver

复制“Starting development sever at”后的网址,开发服务器网址一般是固定的

在浏览器中打开,进入欢迎界面

保留运行中的Django 开发服务器。

检查项目骨架

到这一步项目骨架已比较清晰,可以和创建项目时的骨架作对比感受变化

  1. DJANGO_BULLETIN
  2. ├── django_bulletin // 项目全局文件目录
  3. ├── __pycache__ // 缓存文件夹
  4. ├── __init__.py // 初始化模块
  5. ├── asgi.py // 全局配置
  6. ├── settings.py // 全局配置
  7. ├── urls.py // 全局路由
  8. └── wsgi.py // WSGI服务接口(
  9. ├── db.sqlite3 // 默认数据库文件名
  10. └── manage.py // 项目管理脚本

Django应用

Django 是高度模块化的框架,其应用Application(以下简称App)在 django_news/settings.py 的

  1. INSTALLED_APPS

列表中定义,包括内置App、第三方App、自定义App等。

创建自定义应用

保留运行中的Django 开发服务器,新建一个终端窗口,用cd命令进入项目

  1. cd django_bulletin

创建一个自定义App,命名为bulletin

  1. python manage.py startapp bulletin

  1. bulletin // bulletin应用目录
  2. ├── migrations // 数据库迁移文件目录
  3. ├── __init__.py // 初始化模块
  4. ├── admin.py // 后台管理配置
  5. ├── apps.py // 应用配置
  6. ├── models.py // 数据模型
  7. ├── tests.py // 单元测试
  8. └── views.py // 视图

bulletin应用文件夹内的骨架很清晰,各模块功能明确

将应用添加到全局配置

将bulletin应用添加到全局配置INSTALLED_APPS中

创建视图(View)

打开bulletin/views.py

写一个返回"hello world!"的视图函数

  1. from django.http import HttpResponse
  2. def index(request):
  3. return HttpResponse('Hello world!')

将视图接入路由

创建 bulletin/urls.py 文件

写入bulletin应用的路由表

  1. from django.urls import path
  2. from . import views
  3. urlpatterns = [
  4. path('', views.index, name='index'),
  5. ]

接入全局路由表

将bulletin应用的路由表接入全局路由表

打开django_bulletin/urls.py

  1. django.urls

引入

  1. django.urls.include

函数

  1. from django.urls import include

在urlpatterns列表中添加路由映射,用

  1. django.urls.include

函数接入bulletin应用路由表。

  1. path("", include("bulletin.urls"))

刷新网址

  1. http://127.0.0.1:8000

因为bulletin应用写入的访问路由是空路由,可以直接看到编写的“Hello world!”

创建模版(Template)搭建前端

创建 bulletin/templates/bulletin/index.html 文件搭建前端

写入Django模版

  1. {% if bulletin_list %}
  2. <ul>
  3. {% for elem in bulletin_list %}
  4. <li>
  5. <h3>{{ elem.title }}</h3>
  6. <p>{{ elem.content }}</p>
  7. </li>
  8. {% endfor %}
  9. </ul>
  10. {% else %}
  11. <p>你来到了没有知识的荒原</p>
  12. {% endif %}

渲染模版

在视图中对写入的模版进行渲染

打开 bulletin/views.py 文件

写入渲染函数

  1. from django.shortcuts import render
  2. def index(request):
  3. context = {
  4. 'bulletin_list': [
  5. {
  6. "title": "【Django】从零开始的Web搭建",
  7. "content": "http://t.csdnimg.cn/AMHPU",
  8. },
  9. {
  10. "title": "【Django】从零开始的Web搭建",
  11. "content": "http://t.csdnimg.cn/AMHPU",
  12. },
  13. {
  14. "title": "【Django】从零开始的Web搭建",
  15. "content": "http://t.csdnimg.cn/AMHPU",
  16. },
  17. ]
  18. }
  19. return render(request, 'bulletin/index.html', context=context)

刷新网址

  1. http://127.0.0.1:8000

首页内容和写入的内容一致

创建模型(Model)

打开 bulletin/models.py文件

写入Post模型

  1. from django.db import models
  2. class Post(models.Model):
  3. title = models.CharField(max_length=200)
  4. content = models.TextField()
  5. def __str__(self):
  6. return self.title

创建迁移文件

  1. python manage.py makemigrations

迁移数据库

  1. python manage.py migrate

创建查询接口

打开bulletin/views.py

写入视图查询数据库的代码

  1. from .models import Post
  2. def index(request):
  3. context = { 'bulletin_list': Post.objects.all() }
  4. return render(request, 'bulletin/index.html', context=context)

创建超级用户

创建超级用户,即后台管理账户

  1. python manage.py createsuperuser

按要求依次输入用户名、 邮箱、密码

配置后端接口

打开bulletin/admin.py

写入后端接口代码

  1. from django.contrib import admin
  2. from .models import Post
  3. admin.site.register(Post)

访问后端管理页面

  1. localhost:8000/admin

输入超级用户的用户名和密码

从而可以看到创建的应用和模型

管理前端内容

通过后端管理系统可以管理前端内容,包括内置应用、第三方应用,此处自定义的BULLETIN应用下的的Posts子应用、Students子应用等。

例如Posts提供编辑公告功能,在后端管理系统添加公告

可以直接显示在前端

相关内容可以在后端管理系统随时进行管理甚至丰富更多功能

标签: django python 后端

本文转载自: https://blog.csdn.net/weixin_73404807/article/details/134288700
版权归原作者 F_D_Z 所有, 如有侵权,请联系我们删除。

“【Django】从零开始的Web前端后端搭建”的评论:

还没有评论