当前位置:   article > 正文

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

django后台搭建

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

 pip install django

创建项目

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

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命令进入项目

cd django_bulletin

 ​​​

运行开发服务器

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 的 INSTALLED_APPS 列表中定义,包括内置App、第三方App、自定义App等。

创建自定义应用

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

cd django_bulletin

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

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

 从django.urls引入django.urls.include 函数

from django.urls import include

在urlpatterns列表中添加路由映射,用django.urls.include 函数接入bulletin应用路由表。

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

刷新网址

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)

刷新网址

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

创建迁移文件

python manage.py makemigrations

迁移数据库

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)

创建超级用户

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

python manage.py createsuperuser

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

配置后端接口

打开bulletin/admin.py 

写入后端接口代码

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

访问后端管理页面

localhost:8000/admin

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

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

管理前端内容

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

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

可以直接显示在前端 

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/521417
推荐阅读
相关标签
  

闽ICP备14008679号