Browsing Category

web开发


VIEW POST

View more
web开发

在本地命令行远程调用docker解释器里面的python

By
on
2020年5月6日

说明

这两天在部署一个项目的时候,发现docker有很多骚操作,具体是什么?
比如你有一个完整python环境的docker ( 比如装了各种依赖包等等 ),那么就可以在本地的机器调用远程的docker,来执行python了,大概的效果是这样的

(base) zhangte@tedeMacBook-Pro ~ % pythondocker
Python 3.6.9 (default, Nov 11 2019, 11:24:16)
on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

这里用的就是我python的docker…

有什么用

那么肯定有人会说,这有毛用,和本地的ENV不是一样?确实如果是做到这一步那确实是没啥用…
那么如果我说,docker可以组件一个网络呢 ? 比如用 etcd 的方式,就可以组件一个网络.
那么是什么意思?

我可以利用局域网,然后给团队每个人装一个docker ( 连python都不需要装 ),然后就可以远程访问我本地服务器上的环境和解释器,那么团队其他人就是随时随地用脚本,那基本就是一个爽
我可以把这个docker解释器部署到阿里云,那么就有了一个云端环境,那么我所有的服务器,可以调用这个python ( 当然需要消耗阿里云的资源,不推荐这样搞 )

怎么做

单机处理

其实非常简单,先pull python3.6的镜像,然后run一个镜像,完了以后,测试一下
docker exec -it {镜像id} python
如果可以正常进入python,然后把环境变量给加上去,Mac添加环境变量的方法

#bash
vim ~/.bash_profile

#加入
alias pythondocker="docker exec -it fdc9bc5d04e0…


VIEW POST

View more
web开发

用Docker部署django

By
on
2020年5月5日

一. 编辑配置文件

1. 编辑DockerFile

FROM centos/python-36-centos7
USER root

RUN yum -y install httpd*

ADD ./requirements.txt /tmp/requirements.txt

RUN pip install -r /tmp/requirements.txt -i http://mirrors.aliyun.com/pypi/simple –trusted-host mirrors.aliyun.com \
&& pip install mod_wsgi -i http://mirrors.aliyun.com/pypi/simple –trusted-host mirrors.aliyun.com \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN mod_wsgi-express install-module

ADD ./conf/django.conf /etc/httpd/conf.d/django.conf

EXPOSE 80

WORKDIR /PROJECT_ROOT

来自哪个镜像
安装httpd* (…


VIEW POST

View more
web开发

celery 定时任务

By
on
2020年5月4日

通过admin后台配置 ( 推荐 )

前提

需要先配置好celery,如果未配置,请移步到 : http://www.zhangte.org/2322.html

配置

在settings.py里面加入 INSTALLED_APPS += # 异步和定时任务,以及api开发
同步一下数据库,就可以看到后台

附一份settings的参考文件

from celery import platforms
CELERY_BROKER_URL = 'redis://localhost:6379/15'
CELERY_RESULT_BACKEND = 'django-db'
#用celery来管理缓存
# CELERY_CACHE_BACKEND = 'django-cache'
CELERY_ACCEPT_CONTENT =
# 结果序列化方式
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TIMEZONE = 'Asia/Shanghai'
CELERY_ENABLE_UTC = False
platforms.C_FORCE_ROOT = True

CELERY_CACHE_BACKEND = 'default'
CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'

# django setting.
CACHES = {
'default': {

其实很简单,就几步


VIEW POST

View more
web开发

Django-Cleary异步开发笔记

By
on
2020年4月30日

1. 基础准备

1.1 创建项目

1.2 配置celery

1.2.1 创建celery配置文件 ( celery_config.py)

1.2.2 创建celery.py配置文件

1.2.3 配置django项目启动跟随自动启动

2. 使用

2.1 创建tasks文件

2.2 一个简单的tasks文件实例

2.3 配置views.py

2.4 配置urls.py

3.总结

3.0 整体流程思维导图

3.1 这玩意可以干什么?

3.2踩过的坑

1. 基础准备

1.1 创建项目

安装依赖包
pip install -U Celery

创建django目录,大致的文件结构如下:

– proj/
– manage.py
– proj/
– __init__.py
– settings.py
– urls.py

1.2 配置celery

1.2.1 创建celery配置文件 ( celery_config.py)

这个主要是和django的settings做一个区分,要不然揉在一起看起来很不爽,以下是我的配置,可以直接拷贝即可用

from celery import…


VIEW POST

View more
web开发

Django-xadmin 设置inline的方法,以及隐藏的字段

By
on
2020年4月28日

Django xadmin设置inline以及隐藏字段的方法

这里面有个小坑,这边记录一下

理清逻辑,什么是inline显示?

如图,所以先要理清楚逻辑,这里是
一个网站 -> 对多个关键词,这样的关系,所以就是一对多的关系,先创建两个模型 Sites,和Keywords,其中把Keywords ForeignKey 到Sites中 ( 一个词对一个站 ),这样模型就算创建好

在adminx.py文件中的设置

添加一个inline的类

from xadmin.layout import Fieldset
class KeywordsInline():
model = Keywords
extra = 0 #默认是否显示
style = 'table'
form_layout = (
Fieldset("常规设置",


VIEW POST

View more
web开发

Django xadmin导入excel 插件

By
on
2020年4月28日

Django xadmin 制作插件的方法

编写excel.py放在项目中,代码如下

文件目录在 xadmin/plugins/excel.py

# -*- coding: utf-8 -*-
import xadmin
from xadmin.views import BaseAdminPlugin, ListAdminView
from django.template import loader
from xadmin.plugins.utils import get_context_dict

#excel 导入
class ListImportExcelPlugin(BaseAdminPlugin):
import_excel = False
# 入口函数, 通过此属性来指定此字段是否加载此字段

def init_request(self, *args, **kwargs):
return bool(self.import_excel)

厦门体检