簡體   English   中英

Django管理站點中的全局變量

[英]Global Variables in Django Admin Site

這是我最初的問題,但沒有得到回答,所以我想我想用我嘗試過的一些策略再次發表,並且更具體一些。

我想創建一個動態管理站點,基於該字段是否為空白將顯示該字段。 因此,我有一個模型,該模型具有一定數量的字段,但是對於每個單獨的條目,將不會包含模型中的所有字段,因此我想根據該字段是否為空白來排除該字段。 我的項目是關於橋梁的,因此,實際上,我有一個模型,其中包含每個橋梁部分(大約等於100),但是每個單獨的橋梁(映射到每個唯一的brkey)將不會全部包含100橋梁零件。 因此,我可以預先填充它確實具有的所有字段,但是管理站點上還有其他100個字段,並且我不想顯示那些在我的管理站點上未用於該特定網橋的字段,但是這些字段將每個橋梁幾乎都不同。

就像我之前說的,我有一個唯一的網橋標識符(一個唯一的15位數字字符串),它與每個網橋相關,然后與描述該網橋的所有各種不同變量相關。

現在我已經設置好了,用戶將使用唯一的bridgekey進入URL,然后將創建該bridge的條目。 因此(當我在本地計算機上進行測試時)就像localhost / home / brkey ,而我views.py中與該URL對應的代碼是

這是我必須走的最后一條路線嗎? 我對JavaScript非常陌生,所以我不想走這條路,但是如果需要的話,我會的。 Django是否還會在語法上使用Javascript? 如果是這樣,我找不到有關將Javascript合並到我的管理站點中的任何Django文檔。

我窮盡的最后一個選擇是使用全局變量。 我將其放置在admins.py中,並在其中也放置了modelAdmin類,而不是在Views.py中創建該條目的URL。

管理員

設置全局變量

bridgekey_unique =“”

如果我可以找到將唯一的橋鍵傳遞給我的modelAdmin類的方法,或者因為橋沒有該部分而弄清楚該字段是否為空白,則無需使用Java腳本就可以實現我想要的功能。 我嘗試了所有這兩種策略的許多變體,但都沒有用,但是沒有嘗試JavaScript想法,因為我根本不了解任何javascript。

很抱歉,冗長的帖子,但是人們說我不夠具體。 任何幫助將不勝感激。

我沒有讀完所有的內容-抱歉,太多了。 但是我確實注意到您的評論,您希望您可以在modeladmin定義中訪問您在視圖中設置的變量。 那可能行不通。

首次導入包含該類的模塊時,總是執行類級別的任何操作。 那是服務器進程啟動時的時間,因此尚無可能在視圖中進行任何操作。

您幾乎永遠都不想在課堂上有任何邏輯。 您需要將其放入在相關時間調用的方法中。 在這種情況下,您可能需要使用get_fields方法。

編輯

進一步查看您對get_fields方法的嘗試,我完全看不到您在這里嘗試做的事情。 'prestressed_concrete_deck'是文字字符串,並且永遠不能為None ,因此您的任何條件都不能為真。 關於參數是什么的問題,該方法文檔清楚地說明了obj是正在編輯的對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM