在 Django 中使用与已在 PHP 中运行的完全相同的 Python 数据库代码

问题描述 投票:0回答:1

我有一堆包含 python 函数的文件,在网络服务 apache2 中使用, 它们都是从 PHP 作为 shell 脚本调用的,只需使用“python3 'file' 'args'”(不带 -m,即)以及通过JSON字符串返回数据给PHP,都调试了很久了, 并且工作良好。

它们都在一个目录中,并且大多数只需使用

导入其他文件
   from file_with_lower_level_functions import gimme_this_table

许多导入的函数又会导入其他函数,并且某些导入链可能有 4 或 5 个链接长。

尝试将其导入 Django 是一场噩梦。我所有的“来自”都得到回复 通过“manage.py check”和“未找到模块”。我确实通过改变获得了部分成功 顶层从上面到

   from .file_with_lower_level_function import gimme_this_table 

添加前导点。但首先,像在每个模块中那样更改“from”将使它们无法工作 在旧的情况下,我不想做这个改变。

接下来,当我的一个函数导入另一个函数时,这会导致第二个链接出现问题: 对第二个应用相同的解决方法不起作用:“嗯嗯!找不到模块”

这种方法可以用 Django 实现吗?有没有一个通用的表格可以给我 可以在 django 和 PHP 中使用的代码吗?

我想对 Django 使用与 PHP 相同的技巧,即调用我的代码 作为 shell 脚本,这可能会起作用;但由于 Django is 已经是 python, 这对我来说没有多大吸引力:我会辛苦工作却什么也学不到。

我尝试从 django 视图调用我的旧函数,我希望它能够工作 没有(很多)问题。

mysql django module
1个回答
0
投票

是的,我收到的评论给了我线索。我希望这是一个答案,我会投票的。

设置要在 Django 视图中调用的自己的 Python 代码(至少在我的情况下)只是一个简单的问题:

  1. 将我的模块放在一个目录中(甚至不需要有趣的init.py空文件)

  2. 告诉 Django 这个目录的绝对路径,可以使用任一

export PYTHONPATH=/home/my_own_self/my_directory

如果您正在运行 Django 自己的运行服务器或将其粘贴在此处的末尾:

WSGIDaemonProcess youpi_server python-home=/(some path)/django_venv python-path=(...path to views...):/home/my_own_self/my_directory

如果您在 Apache 中提供服务,并且

  1. 在视图中插入像这样的行
    from my_own_module import my_own_function
    其中 my_own_module.py 是 my_directory 和 my_own_function 中的文件 其中有一个“def”。

谢谢阿卜杜勒·阿齐兹·巴尔卡特!

© www.soinside.com 2019 - 2024. All rights reserved.