当前位置: 首页 > 面试题库 >

实用程序函数在Django中应该存放在哪里?

乐正光誉
2023-03-14
问题内容

实用程序函数在Django中应该存放在哪里?诸如自定义加密/解密数字,发送推文,发送电子邮件,验证对象所有权,自定义输入验证等功能。我在应用程序中的多个位置使用了重复性和自定义内容。我现在肯定要打破DRY。

我看到了一些演示,其中在models.py中定义了函数,尽管从概念上看这对我来说并不正确。他们是否应该使用导入到我的项目中的“实用程序”应用程序?如果是这样,它们在实用程序应用程序中位于何处?还有models.py文件

感谢您帮助解决此问题。

更新: 让我更加具体。假设我需要一个函数“ light_encrypt(number)”,将参数“
number”乘以7,加10并返回结果;另一个函数“ light_decrypt(encr_number)”,将参数“
encr_number”减10,除以7并返回结果,我应该把它放在Django树中的什么地方?这不是中间件,对吗?正如Felix建议的那样,我是否创建python包并将其导入到需要这些功能的视图中?


问题答案:

问题不同但答案相同:

我对Django网站的通常布局是:

projects/
templates/
common/
local/

哪里:

  • 项目包含您的主要项目和其他任何项目
  • common包含您可能在站点之间共享的内容,或者至少不是特定于项目的,例如,如果您需要下载django-profile和django-
    registration,而不是直接将其包含在python / site-packages中
  • 模板仅包含
  • local包含将特定于当前计算机的内容,以便您可以正确分离数据,例如数据库位置和密码-然后,我将计算机特定版本(例如“
    machine1-localconfig.py”)软链接到local /
    localconfig.py,然后可以在settings.py中“导入localconfig”
  • 我通常将特定于项目的中间件放在项目中,而将非特定于项目的中间件放在common / middleware /
    * 确保将模板目录添加到设置中的正确位置(或者很可能是localconfig.py,然后将其导入设置中),并确保将项目,公共目录和本地目录添加到您的PYTHONPATH中。


 类似资料:
  • 问题内容: 我喜欢Greg解决此问题的方法,但我想指出,你可以直接在管理员中执行相同的操作: 我刚刚开始在django项目中实现信号监听器。虽然我了解它们是什么以及如何使用它们。我很难弄清楚我应该把它们放在哪里。django网站上的文档说: 你可以将信号处理和注册代码放在任何你喜欢的位置。但是,你需要确保该模块所在的模块尽早导入,以便在需要发送任何信号之前注册信号处理。这使你的应用程序的model

  • spring启动时,mvc war文件已部署在独立的tomcat,位于 我可以把它移到? 一般情况下,如果不使用Spring boot,我的配置文件将位于可以移动到 这同样适用于也是吗?那怎么办? 这将有助于在重新部署时自动备份我的配置文件。

  • 问题内容: 首先,我知道如何构建Java应用程序。但是我总是对在哪里上课感到困惑。支持以严格面向领域的方式组织软件包的支持者,其他支持者则按层分开。 我本人一直有问题 命名, 放置 所以, 您将域特定的常量放在哪里(以及此类的最佳名称是什么)? 您在哪里放置基础结构和领域特定的东西的类(例如,我有一个FileStorageStrategy类,该文件将文件存储在数据库中,或者存储在数据库中)? 在哪

  • 问题内容: 告诉我,我无法上传到AppEngine appcfg: 该应用程序不存在。 我只是AppEngine的开发人员,因此在进行测试时,我创建了一个新的AppEngine,我是所有者,但在新创建的AppEngine上仍然收到相同的消息。 问题答案: 我发现的解决方法是添加参数–: 当您从同一台计算机上的不同Google帐户上传AppEngine应用程序时,可能会发生这种情况。

  • Spring Cloud函数引入了Spring功能,如自动配置、依赖注入、度量等,但与Java中的普通AWS lambda函数相比,它们感觉相当重量级。 启动时间要长得多,等等。所以,我很好奇这个想法是让Spring Boot应用程序提供多个功能,其中包含Spring Cloud功能,还是每个应用程序都有一个功能? 演示启动时间差异的两个示例项目:-https://github.com/marct

  • 问题内容: IOS编程的新手,只是想知道在哪里放置可以在我的代码中使用的函数的最佳位置。例如,我想编写一些函数来执行对Web服务的POST请求并返回字典。也许是另一个函数来做一些计算。最好创建另一个.swift文件并将所有功能放在那里。如果可以的话,给该文件一个好名字是什么? 问题答案: 最好的方法是使用静态函数创建一个帮助器类,如下所示: 现在,每次需要使用时,您都可以像这样使用: 希望对您有所