赞
踩
Django 是一个由 Python 写成的开放源代码的 Web 应用框架,许多成功的网站和APP都基于Django。Django是一个强大的Python Web框架,它遵循MTV(Model-Template-View)的软件设计模式,即模型(Model)、模板(Template)和视图(View)。MTV模式概念部分见知识点|MTV模式(Model-template-view)。
在已安装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 是高度模块化的框架,其应用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中
打开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!”
创建 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
首页内容和写入的内容一致
打开 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提供编辑公告功能,在后端管理系统添加公告
可以直接显示在前端
相关内容可以在后端管理系统随时进行管理甚至丰富更多功能
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。