【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

 pip install django

创建项目

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

django-admin startproject django_bulletin

项目骨架 

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

进入项目

用cd命令进入项目

cd django_bulletin

 ​​​

运行开发服务器

python manage.py runserver

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

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

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

检查项目骨架

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

DJANGO_BULLETIN
├── django_bulletin          // 项目全局文件目录
│   ├── __pycache__          // 缓存文件夹
│   ├── __init__.py          // 初始化模块
│   ├── asgi.py              // 全局配置
│   ├── settings.py          // 全局配置
│   ├── urls.py              // 全局路由
│   └── wsgi.py              // WSGI服务接口(
├── db.sqlite3               // 默认数据库文件名
└── 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

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

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

将应用添加到全局配置

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

创建视图(View)

打开bulletin/views.py

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

from django.http import HttpResponse

def index(request):
    return HttpResponse('Hello world!')

将视图接入路由

创建 bulletin/urls.py 文件

写入bulletin应用的路由表

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

接入全局路由表

将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模版 

{% if bulletin_list %}
  <ul>
  {% for elem in bulletin_list %}
    <li>
      <h3>{
   
   { elem.title }}</h3>
      <p>{
   
   { elem.content }}</p>
    </li>
  {% endfor %}
  </ul>
{% else %}
  <p>你来到了没有知识的荒原</p>
{% endif %}

渲染模版

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

打开 bulletin/views.py 文件

写入渲染函数

from django.shortcuts import render

def index(request):
    context = {
        'bulletin_list': [
            {
                "title": "【Django】从零开始的Web搭建",
                "content": "http://t.csdnimg.cn/AMHPU",
            },
            {
                "title": "【Django】从零开始的Web搭建",
                "content": "http://t.csdnimg.cn/AMHPU",
            },
            {
                "title": "【Django】从零开始的Web搭建",
                "content": "http://t.csdnimg.cn/AMHPU",
            },
        ]
    }
    return render(request, 'bulletin/index.html', context=context)

刷新网址

http://127.0.0.1:8000

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

创建模型(Model)

打开  bulletin/models.py文件

 写入Post模型

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()

    def __str__(self):
        return self.title

创建迁移文件

python manage.py makemigrations

迁移数据库

python manage.py migrate

创建查询接口

打开bulletin/views.py

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

from .models import Post

def index(request):
    context = { 'bulletin_list': Post.objects.all() }
    return render(request, 'bulletin/index.html', context=context)

创建超级用户

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

python manage.py createsuperuser

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

配置后端接口

打开bulletin/admin.py 

写入后端接口代码

from django.contrib import admin

from .models import Post

admin.site.register(Post)

访问后端管理页面

localhost:8000/admin

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

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

管理前端内容

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

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

可以直接显示在前端 

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

猜你喜欢

转载自blog.csdn.net/weixin_73404807/article/details/134288700