私信  •  关注

MaximeK

MaximeK 最近创建的主题
MaximeK 最近回复了
7 年前
回复了 MaximeK 创建的主题 » 在apache上部署Django rest API

你不能使用 python manage.py runserver 8000 在服务器上,它只用于开发。

你可以在这里看到文档 https://docs.djangoproject.com/en/2.1/howto/deployment/wsgi/

Apache的基本配置是:

<VirtualHost *:80>
    ServerName yoursite.com
    ServerAdmin your@site.com

    Alias /media/ /path/to/django-app/media/

    <Directory /path/to/django-app/media/>
        Require all granted
    </Directory>

    WSGIScriptAlias / /path/to/django-app/conf/wsgi.py

    <Directory /path/to/django-app/conf/>
    <Files wsgi.py>
        Require all granted
    </Files>
    </Directory>
</VirtualHost>

你需要为你的项目修改这个。

如果需要安装mod_wsgi: https://modwsgi.readthedocs.io/en/develop/user-guides/quick-installation-guide.html

对我来说我会用 https://docs.djangoproject.com/en/2.1/howto/deployment/wsgi/uwsgi/ 比较方便( pip install uwsgi )

7 年前
回复了 MaximeK 创建的主题 » 为django测试用例模拟整个python模块

我可以给你一个工作方向:

def setUp(self):
    model_mocked = MagicMock()
    model_mocked.credentials.return_value = {}
    modules = {'battery_upgrade_web': model_mocked}
    patch.dict('sys.modules', modules).start()

这将创建一个magicmock添加credentials对象并将其添加到可以导入的模块列表(sys.modules)中。

不确定它是否对你有用,但那就是方法。

7 年前
回复了 MaximeK 创建的主题 » 为什么django-celery任务显示“属性错误”?

我可以回答2个问题:

  1. 也许你想加一个 self 在某个地方 tasks.py :

@app.task(bind=True)

def patient_masters_viewset_task(self):
    queryset = models.PatientMasters.objects.all()
  1. 您更喜欢一种Lazyloading方法,它可以以一种严格的方法(同步/等待、承诺…在JS中),这不是正确的提问地点:)