不用Excel,如何制作一个自动更新的销售报表?(含销售报表模版)
665
2022-05-29
橡皮擦,一个逗趣的互联网高级网虫。新的系列,让我们一起进入 Django 世界。
已经完成的文章
滚雪球学 Python 第三轮,Python Web 之 Django 的世界
小手哆嗦一下,就能用 Python Django 实现一个微型博客系统
Django 做个小后台,细节在完善一点点,滚雪球学 Python 第三阶段
Django QuerySet 就学那么一点点,一点点就够了
看完这篇博客,Python Django 你就学会一半了
让我们一起开发【菜谱系统】吧,滚雪球学 Python 第三轮项目计划
出现吧,Python Web 菜谱系统的首页,不会前端技术,也能做
简简单单实现 Python Web 的登录注册页面,还包含一半逻辑。
Python Web 菜谱项目再次前进一步,从应用层了解内置用户认证系统
菜谱系统小成阶段,Python Web 领域终于攻占一个小山头
滚雪球学 Python 第三轮
已经完成的文章
十一、Django 销售打分系统
11.1 复盘 Django
11.2 小姐姐打分系统框架初见
11.3 串联第一个页面
11.4 初始化数据库
11.5 本篇博客小节
十一、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 项目,并且这个项目是橡皮擦无中生有的一个趣味项目,大家一起学起来吧
相关阅读
Python 爬虫 100 例教程,超棒的爬虫教程,立即订阅吧
Python 游戏世界(更新中,目标文章数 50+,现在订阅,都是老粉)
Python 爬虫小课,精彩 9 讲
今天是持续写作的第
129
/ 200 天。
如果你想跟博主建立亲密关系,可以关注同名公众号
梦想橡皮擦
,近距离接触一个逗趣的互联网高级网虫。
博主 ID:梦想橡皮擦,希望大家
、
评论
、
。
Django Python 数据库
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。