将现有的Python程序合并到Django网站中

时间:2014-10-30 07:44:15

标签: python django

我需要将现有的桌面python应用程序转换为Django支持的网站。要做到这一点,我可能会有几个Django应用程序,每个应用程序执行某些事情。

我不确定的是在哪里放置每个应用程序的所有现有python文件。每个应用程序将需要几个现有的python文件。对于基本的Django应用程序,大多数程序逻辑都在views.py中。但是,我要转换的桌面应用程序很大,有几个python文件。换句话说,我不能只将整个应用程序转储到Django应用程序的views.py文件中。

我的想法是在views.py中我会调用存储在子目录中的各种现有python文件。我只是不确定在哪里放置所有这些文件的最佳做法是什么?我可以在应用程序中创建一个新文件夹,例如名为'program',它将包含所有python文件。

我认为文件不应该是静态的,因为它应该用于pdf,css等? 它应该进入模板吗?

试图找出这个通常是完成的。如果我没有足够清楚地解释自己,请告诉我。 感谢。

3 个答案:

答案 0 :(得分:2)

首先,您可以制作views.pymodels.py等模块,而不是单个文件。 您还可以添加其他模块,例如corehelpers,并将其命名为包含不一定是视图的业务逻辑代码。

例如,我相对较大的django应用程序大致具有以下结构:

my_app
  views
    __init__.py
    example_view_1.py
    example_view_2.py
    some_module
      __init__.py
      another_view.py
    ...
  models
    (all my app's models)
  helpers
    (helper modules)
  backends
    (authentication backends)
  forms
    (django forms)

third_party
  (all third party packages - I use GAE so I must upload them)

答案 1 :(得分:0)

这取决于您在项目中包含的内容。命名约定中有一些固定装置,例如views.pymodels.pyadmin.py,标准内容,但是通过设置导入到项目中的包有插件(如tasks.py Celery)。

这一切都取决于你的项目的复杂性。我正在努力工作,以至于我们决定将models.py分解为模型目录中的几个文件。该目录中的__init__.py从每个文件中导入模型。

Two Scoops基本上是关于如何编写Django代码的样式指南。我推荐它。

答案 2 :(得分:0)

I might recommend the DjangoGirls or Djangoproject tutorials as long as you bring it up.

Spent a few months looking at Django to find that for the project I was on, while it was highly recommended, it was, in the end, a bit overpowered thus requiring a bit of backfill to code.

I was looking for a smaller scale codeset that Flask ended up performing better but it was also a much quicker prototyping package with what I found on GitHub.