蓝鲸实践作业——SaaS 应用开发进阶

Django工程开发好后,需要将它进行部署。通过本节课程中将Django工程转化为蓝鲸SaaS,并使用开发者中心进行部署的展示,你可掌握蓝鲸开发框架组件以及它集成的扩展能力,包括ESB组件, 后台Celery任务,数据可视化等。

题目

1.将脚本执行动作放到celery任务中异步执行
2.将执行结果根据celery id存入同一条记录数据

将该功能实现后,上线到生产环境。

celery使用

python manage.py celery worker --settings=settings -l info

出现报错如下:

from celery.utils import timer2
File "C:\Users\cascara\Desktop\LearningMaterials\SAAS\saas\bkenv\lib\site-packages\celery\utils\timer2.py", line 19
from kombu.async.timer import Entry, Timer as Schedule, to_timestamp, logger
^
SyntaxError: invalid syntax

经查询,是python版本不匹配的问题,应当使用3.6版本。虽然之前使用虚拟环境,但仍然发现是3.7版本

python --version

虚拟环境

使用python第三方库virtualenv实现多版本共存(虚拟环境),可以指定python版本

virtualenv py36 --python=python3.6

或者通过-p参数指向python.exe文件路径

virtualenv --prompt (py36) -p "C:\Users\cascara\AppData\Local\Programs\Python\Python36\python.exe" py36

进入虚拟环境

cd py36/Scripts
activate

问题

from setuptools import setup, Extension, Feature ImportError: cannot import

是setuptool版本的问题,python3源中的setuptools已经升级到46以上。所以导致pip安装失败

pip install --upgrade pip setuptools==45.2.0

AttributeError: module ‘os’ has no attribute ‘uname’

uWSGI==2.0.18

RuntimeError: failed to find interpreter for Builtin discover of python_spec=’python3.6′

没有下载3.6版本

实现效果

选择题

对于 Django Model 的描述,以下哪些是正确的?*多选

模型的每个属性都代表着数据库的一个字段

Django 通过 Model 的定义会动态生成一系列对应数据库操作的 API

模型只允许定义字段属性,不能定义方法

模型都是一个特定继承于 django.db.models.Model 的类

Django模型Model的定义

关于 Django admin 后台,以下说法正确的是?*多选

admin 只能让超级管理员进行登录,因为可以看到所有用户的密码

admin 的操作无法审计,所以不能在 admin 上进行数据删除

admin 提供了扩展开发的机制

admin 提供了管理 model 数据库记录的界面

03关于 Django 的日志机制,以下说法正确的是?*多选

可以通过修改配置的方式来控制不同模块的日志行为

兼容 logging 模块

默认需要自行根据 logging 来进行初始化

默认根据 settings 中 LOGGING 这个配置自动进行初始化

作为一门编程入门语言,Python主要有哪些特点和优点:*多选

开源

编译性语言,速度快

面向对象

具有动态特性

Django中,关于 view,以下说法正确的是?*多选

可以使用 require_POST 装饰器来限制一个 view 只能被 POST 方法请求

一个 view 函数结束的时候代表一个 http 请求马上结束

【转】Django HTTP请求的处理流程

中间件可以拦截 view 的请求

view 负责将 HTTP 请求转换成响应

Leave a comment

Your email address will not be published. Required fields are marked *