销售 小姐姐 给买家打分系统,用 Python Django 又整了一个花活
橡皮擦,一个逗趣的互联网高级网虫。新的系列,让我们一起进入 Django 世界。
已经完成的文章
- 滚雪球学 Python 第三轮,Python Web 之 Django 的世界
- 小手哆嗦一下,就能用 Python Django 实现一个微型博客系统
- Django 做个小后台,细节在完善一点点,滚雪球学 Python 第三阶段
- Django QuerySet 就学那么一点点,一点点就够了
- 看完这篇博客,Python Django 你就学会一半了
- 让我们一起开发【菜谱系统】吧,滚雪球学 Python 第三轮项目计划
- 出现吧,Python Web 菜谱系统的首页,不会前端技术,也能做
- 简简单单实现 Python Web 的登录注册页面,还包含一半逻辑。
- Python Web 菜谱项目再次前进一步,从应用层了解内置用户认证系统
- 菜谱系统小成阶段,Python Web 领域终于攻占一个小山头
十一、Django 销售打分系统
这是一个崭新的创造项目,项目的需求是这样的,每次售楼的小姐姐打完电话之后,都可以给被打电话的人,打个分数标记一下。这是一波满分的反向操作,销售给客户打分。
需求来了之后,剩下的咱就把它实现了。采用的技术依旧是 Django。
11.1 复盘 Django
滚雪球学 Python 第三轮已经整理了 10 篇文章,相信你对 Django 已经有了整体的认知,这次滚雪球预计滚 21 篇博客,形成已经过半啦。
Django 是基于 Python 语言的 Web 框架,基于 BSD 协议,完全开源,github 地址:https://github.com/django/django,官网地址:https://www.djangoproject.com/,这些都要牢记于心。
对于版本官方详细的解释在该地址:https://www.djangoproject.com/download/
Django is available open-source under the BSD license. We recommend using the latest version of Python 3. The last version to support Python 2.7 is Django 1.11 LTS. See the FAQ for the Python versions supported by each version of Django. Here’s how to get it:
如果希望获得长期支持版本,选择版本号后面带 LTS
的版本即可。目前长期支持的版本是 3.2 版本。
在之前的博客中你已经可以运行起来一个 Django 站点了,但是对于底层的协议,我们没有过多的涉及,其实这些工作都是 WSGI 接口实现的,我们也可以自行实现该功能,也就是手动编写一个 Web 框架,创建一个 Python 文件,写入如下代码:
from wsgiref.util import setup_testing_defaults
from wsgiref.simple_server import make_server
def my_server(environ, start_response): setup_testing_defaults(environ=environ) status = "200 OK" headers = [("Content-type", "text/html;charset=utf-8")] start_response(status, headers) url = environ["PATH_INFO"] response = "" if url == "/home": response = "首页" elif url == "/about": response = "关于页" else: response = "访问地址不正确" return [response.encode("utf-8")]
if __name__ == '__main__': httpd = make_server("", 8000, my_server) httpd.serve_forever()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
编译代码之后,就会在本地构建出一个小型的服务器,此时在浏览器访问 http://127.0.0.1:8000/home
就可以获得返回的数据内容了。Django 也是基于上述几行简单的代码,实现的一个重量级 Web 框架。
再见 Django 的 MVT 模式框架
该模式是 Django 框架的基础模式,核心是下述内容:
Model
:对象关系映射;View
:业务逻辑,串联Model
与Template
;Template
:展示数据。
11.2 小姐姐打分系统框架初见
创建一个 Django 项目,咱们已经轻车熟路了,使用下述命令:
django-admin startproject cutegirl
- 1
创建完毕之后,通过 cd cutegirl
进入目录,然后通过 python manage.py runserver
运行项目。
这里要补充一个知识是:
cutegirl>python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes
, sessions.
Run 'python manage.py migrate' to apply them.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
上述内容中,存在一个提示 You have 18 unapplied migration(s)
,暂时忽略该提示即可,当然提示下面也给出了解决办法,就是使用 python manage.py migrate
去同步数据库信息。
在 cutegirl
目录中,创建 scoring
应用,命令如下:
python manage.py startapp scoring
- 1
整体运行完毕,打分系统的基础框架已经构建完毕了,目录结构如下图所示:
11.3 串联第一个页面
目录结构搭建完毕之后,就可以进入到 Django 的编码环节中了,首先从 MVT 中的 V 开始,因为它起到了连接的作用。
修改 scoring/views.py
文件代码:
from django.http import HttpResponse
# 打分系统首页
def index(request): return HttpResponse("小姐姐打分系统")
- 1
- 2
- 3
- 4
- 5
在 scoring
文件夹中创建 urls.py
文件,并编写代码如下:
from django.urls import path
from . import views
urlpatterns = [ path("", views.index, name="index")
]
- 1
- 2
- 3
- 4
- 5
- 6
同步修改 cutegirl/urls.py
文件代码:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [ path("scoring/", include("scoring.urls")), path('admin/', admin.site.urls),
]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
基础配置完毕,打分系统的第一个页面已经可以预览了,访问地址为:http://127.0.0.1:8000/scoring/
。
11.4 初始化数据库
接下来解决刚才遗留的一个问题,每次运行 python manage.py runserver
都会提示错误的问题。
在 cutegirl
文件夹中使用如下命令即可。
cutegirl>python manage.py migrate
- 1
默认生成的数据表是依据 setting.py
中下述配置进行生成的:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles'
]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
具体说明如下:
django.contrib.admin
:管理员数据;django.contrib.auth
:认证授权数据;django.contrib.contenttypes
:内容类型框架;django.contrib.sessions
:Session 会话;django.contrib.messages
:消息框架;django.contrib.staticfiles
:静态文件。
此时使用 Sqlite3
数据库查看工具,即可查看生成的数据表。
11.5 本篇博客小节
本篇博客开始,我们将再次学习到一个新的 Django 项目,并且这个项目是橡皮擦无中生有的一个趣味项目,大家一起学起来吧
相关阅读
django教程 django中文文档 Django 文档 django需要什么基础 第一个django项目 django建站教程 django框架怎么使用 django组件 在django中创建项目今天是持续写作的第 129 / 200 天。
如果你想跟博主建立亲密关系,可以关注同名公众号 梦想橡皮擦,近距离接触一个逗趣的互联网高级网虫。
博主 ID:梦想橡皮擦,希望大家点赞、评论、收藏。
文章来源: dream.blog.csdn.net,作者:梦想橡皮擦,版权归原作者所有,如需转载,请联系作者。
原文链接:dream.blog.csdn.net/article/details/115495783
- 点赞
- 收藏
- 关注作者
评论(0)