本地项目:django_v1
step1.xshell进行远程安装python中的celery包
step2.xshell中远程建好将要上传本地文件要到的文件夹
更正:上面这个图不是上传django_v1本地文件哈,只是远程新建django_v1文件夹
step3.PyCharm中连接测试和上传远程云服务器
PyCharm中,tools–>Deployment–>Configuration
Connection
连接远程的python解释器 解决本地无法安装环境依赖问题
先修改协议,连接远程,改完红框相关信息后,
点击"Test SFTP connection"进行测试连接,,,等到Successfully…
Mappings
里面设置"Deployment path on server"----->要远程上传到的工程文件夹的路径(xshell里提前建好文件夹哦~ mkdir django_v1)
注:进入下面界面之前,如果没有django_v1工程,则点击左上角的绿色加号,进行添加
step4.PyCharm中显示远程Python已有的一些包
改好了:
step5.PyCharm中设置云服务器端口
Run—>Edit Configurations—>Django Server
step5.PyCharm中开始上传
自动加载
step6.xshell远程查看,上传成功
celery部分的操作:
在下图所示,celery运行中,就可以开始访问服务器,发送邮件啦~
(celery启动中,服务器访问才有效)
代码部分:
步骤一:在项目settings.py所在目录建立一个celery.py
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
# 这是wsgi.py中的数据copy下,配置
os.environ.setdefault('DJANGO_SETTINGS_MODULE', '你项目的名字.settings')
app = Celery('你项目的名字')
app.config_from_object('django.conf:settings', namespace='CELERY')
#Load task modules from all registered Django app configs.
app.autodiscover_tasks()
@app.task(bind=True)
def debug_task(self):
print('Request: {0!r}'.format(self.request))
步骤二:Settings.py设置celery环境变量
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' #email后端
EMAIL_USE_TLS = False # 是否使用TLS安全传输协议
EMAIL_USE_SSL = True # 是否使用SSL加密,QQ企业邮箱要求使用
EMAIL_HOST = 'smtp.qq.com' # 发送邮件的邮箱的SMTP服务器,这里用了qq企业邮箱
EMAIL_PORT = 465 # 发件箱的SMTP服务器端口
EMAIL_HOST_USER = '1453472003@qq.com' # 发送邮件的邮箱地址
EMAIL_HOST_PASSWORD = 'zhspngccrdspjabi'
DEFAULT_FROM_EMAIL = 'system <1453472003@qq.com>'
CELERY_BROKER_URL = 'redis://localhost:6379/2'
#:Only add pickle to this list if your broker is secured
#:from unwanted access (see userguide/security.html)
CELERY_ACCEPT_CONTENT = ['json']
CELERY_RESULT_BACKEND = 'redis://localhost:6379/3'
CELERY_TASK_SERIALIZER = 'json'
步骤三:settings.py同级目录创建tasks.py代码:
from __future__ import absolute_import, unicode_literals
from celery import shared_task
from 你项目的名字 import settings
from django.core.mail import send_mail
@shared_task
def send_register_email(email):
message = ''
title = '甲骨文的信息'
body = '<h1>for,欢迎成为甲骨文IT的精英</h1>'
try:
send_mail(title, message, settings.EMAIL_HOST_USER, [email], html_message=body)
except Exception as e:
print(e)
步骤四:在settings.py同级目录创建views.py写入:
from django.http import HttpResponse
from .tasks import send_register_email
def first_celery(request):
email=request.GET.get("email")
#任务函数的异步调用
send_register_email.delay(email)
return HttpResponse("OK")
步骤五: 填写url
from django.conf.urls import url
from django.contrib import admin
from django.urls import path
from .views import first_celery
urlpatterns = [
path('admin/', admin.site.urls),
path('email/', first_celery),
]
步骤六:
celery -A django_v1 worker -l info
进入你项目manage.py 同级目录执行语句
----->见上文,celery操作部分
步骤七、启动django项目
附录,傻瓜式: