2014-10-30 61 views
3

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

什么我不知道的是在哪里把每个应用程序的所有现有的python文件。每个应用程序将需要几个现有的Python文件。对于基本的Django应用程序,大多数程序逻辑将在views.py中。然而,我将要转换的桌面应用程序很大,有几个python文件。换句话说,我不能将整个应用程序转储到Django应用程序的views.py文件中。

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

我认为文件不应该进入静态,因为这应该用于pdf的,CSS等? 是否可能进入模板?

只是试图找出这是典型的做法。如果我没有足够清楚地解释我自己,请告诉我。 谢谢。

回答

2

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

例如,我的比较大的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) 
+0

非常感谢。我不完全确定我们在Django中创建自己的目录结构有多少自由。我想知道是否有一个特定的地方来放置这样的东西,但似乎并非如此。谢谢 – darkpool 2014-10-30 08:52:51

0

这取决于你在项目中包含的内容。命名约定中有固定装置,例如views.py,models.py,admin.py,这是标准的东西,但是通过设置导入到项目中的软件包有插件(如tasks.py,对于Celery)。

这一切都取决于你的项目的复杂性。我正在研究如此之大,以至于我们决定将models.py分成多个模型目录中的文件。该目录中的__init__.py从每个文件中导入模型。

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

0

只要您提出,我可能会推荐DjangoGirlsDjangoproject教程。

花了几个月的时间看着Django来发现我所在的项目,虽然这是强烈推荐的,但它最终有点压倒性,因此需要一些回填代码。

我正在寻找一个更小规模的代码集,Flask最终表现更好,但它也是一个更快的原型制作包,包含我在GitHub上找到的。