我爲我正在創建的django項目創建了一個markdown擴展文件(名爲mdx_xxx.py),但我無法真正決定將它放在哪裏。在django項目中放置markdown擴展文件的正確位置?
文檔說,該文件應該駐留在PYTHONPATH和我見過幾個博客帖子,邀請只是把文件中的項目的根目錄下。
然而,這似乎是一個奇怪的地方,我,我寧願看到它的相關應用程序目錄,但那就不是在PYTHONPATH了。
難道一些有經驗的django程序員會對這個問題有所瞭解嗎?
感謝
我爲我正在創建的django項目創建了一個markdown擴展文件(名爲mdx_xxx.py),但我無法真正決定將它放在哪裏。在django項目中放置markdown擴展文件的正確位置?
文檔說,該文件應該駐留在PYTHONPATH和我見過幾個博客帖子,邀請只是把文件中的項目的根目錄下。
然而,這似乎是一個奇怪的地方,我,我寧願看到它的相關應用程序目錄,但那就不是在PYTHONPATH了。
難道一些有經驗的django程序員會對這個問題有所瞭解嗎?
感謝
需要擴展名的文件直接Python路徑上住,而不是任何包裝內,爲(IMO)Python的降價實現的不幸限制。
如果你的擴展是非常具體的項目,我想將它放在項目的根是最好的選擇。另一方面,如果你的擴展在其他情況下是可重用的,我會用一個簡單的setup.py把它打包並用pip把它安裝到virtualenv中,就像我對所有其他的依賴關係一樣。
並非一切都應該在你的項目中。這是一個需求,一個依賴。你仍然可以將它們打包在一起,我想你需要把它放在最高層。這基本上意味着可以從項目本身的相同位置導入。就我個人而言,我把所有的東西都推向了virtualenv,所以它非常乾淨。如果你這樣做,你的部署過程應該包括把你的項目和任何依賴安全地放到那個虛擬環境中。否則,無論你在路徑上的任何位置。
如果您正在使用從PIP標準降價庫(PIP安裝降價)現在版本2.3.1,擴展可以在任何地方。你只需要提供虛線路徑。舊式 - 直接在模塊前綴爲mdx_中的PYTHONPATH上仍然可以。
我有它在我的應用程序代碼:django_file_downloads.mdx_download。
從Django模板使用它:
{% load markup %}
{{ variable|markdown:'django_file_downloads.mdx_download' }}