django - 更改 apache 当前目录的 python 脚本
问题描述
我已经将 Apache 设置为使用mod_wsgi
模块与我的 Django 应用程序一起工作。以下是 的内容/etc/apache2/sites-enabled/yaraweb.conf
:
<VirtualHost my_server_ip:port>
DocumentRoot /var/www/YaraWeb
Alias /static /var/www/YaraWeb/yara/static
<Directory /var/www/YaraWeb/yara/static>
Require all granted
</Directory>
<Directory /var/www/YaraWeb/YaraWeb>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess YaraWeb python-home=/var/www/YaraWeb/venv python-path=/var/www/YaraWeb
WSGIProcessGroup YaraWeb
WSGIScriptAlias / /var/www/YaraWeb/YaraWeb/wsgi.py
的结构/var/www/YaraWeb
是这样的:
/var/www/YaraWeb
│ manage.py
│
└───venv
│ │ bin
│ │ include
│ │ lib
│ │ pip-selfcheck.json
| | share
│
└───yara => django app
| │ admin.py
| │ apps.py
│ | forms.py
│ | __init__.py
| │ main.py
| │ migrations
│ | models.py
│ | static
| │ templates
│ | urls.py
│ | views.py
│
└───YaraWeb
│ __init__.py
│ settings.py
| urls.py
| wsgi.py
一切正常,服务器已启动,但问题是当在我的代码中记录当前工作目录时views.py
,它会返回/var/www
,但我希望它是/var/www/YaraWeb/
。换句话说,我需要这段 python 代码来打印/var/www/YaraWeb/
:
import os
print(os.getcwd()) # actually prints /var/www/
在服务器代码中,相对路径广泛用于创建目录。通过使用相对路径,开发人员假设所有创建的目录都在项目文件夹中创建/var/www/YaraWeb/
,但在当前的 Apache 设置下,所有相对路径都尝试在/var/www/
其中创建目录,这可能会导致覆盖其他项目中的现有文件。是否有任何 Apache 设置可以改变这种行为?
解决方案
推荐阅读
- python - 如何旋转饼图中的百分比标签以匹配类别标签旋转?
- python - 无法向抽象的子类方法python添加类型提示
- python - 在 Python Pandas 中删除数据框行名
- jquery - 通过 jQuery-File-Upload 和 Asp.net MVC Core 提交没有任何文件的表单
- python - 如何覆盖控制台输出?
- c++ - SDL2_image 和 XCODE 的构建问题
- flutter - 如何在不同文件/页面的底部导航中分页路由
- android - 为什么 DividerItemDecoration 在 recyclerView 片段中获取空对象引用?
- python - pandas:忽略 lambda 中的异常
- python - 在 OpenCV 中是否有任何用于检测左耳和右耳的 haar 级联?