2010-07-21 42 views
0

試想一下情況:如何將所有這些進口轉移到獨立的文件

我必須考慮到與噸的不同意見的目錄。所有視圖都有大約6行與進口 - 在文件的開頭。每次創建新視圖時,都非常難以複製粘貼這6行代碼。

我通常使用所有這些進口。

from django.contrib.auth.models import User 
from django.contrib.auth.decorators import login_required, user_passes_test 
from django.core.files.base import ContentFile 
from django.core.urlresolvers import reverse 
from django.core import paginator 
from django.db import connection 
from django.db.models import Q 
from django.http import HttpResponseRedirect, Http404, HttpResponse, HttpResponseForbidden 
from django.shortcuts import render_to_response, get_object_or_404 
from django.template import loader, Context, RequestContext 
from django.utils.translation import ugettext as _ 

之類的東西..

SO問題是:

如何將所有這些進口獨立的文件,這樣我就可以包括每個視圖我創建這個文件。而不是音調導入我將有一個文件與所有視圖的導入。我不認爲這會殺死應用程序或smtng的性能。我會使用該文件僅用於大多數常見的導入或smtng像那樣..也許這是該死的PHP邏輯仍然與我,我知道包括在Python是不好的做法..但我需要一種解決方法,這種情況..它越來越我的神經

回答

2

你可以把它們放在一個模塊中,說imports.py,然後做你的觀點:

from imports import * 

我想大多數Python程序員會說(和我也同意),它可能最好在您實際使用它們的模塊文件的頂部列出您的導入,就像您已經在做的那樣。它可能看起來有點冗長,但當它們方便地在文件的頂部列出時,追蹤外部模塊會更容易。這也使得它更加明確什麼你正在導入。

+0

查看目錄有 [__init__.py] 也許有可能將此行放在那裏,以便每個視圖都能「看到」那些導入? – holms 2010-07-21 15:15:23

+0

你仍然需要做一些像'from views import *'一樣的東西。 – mipadi 2010-07-21 15:36:04

+0

好吧,我只是在它創建進口dir和views.py,它的工作原理。 thnx =) – holms 2010-07-21 15:47:51

1

如果你一遍又一遍地做同樣的事情,那麼你應該在一個單獨的模塊中完成它們,然後導入該模塊。

相關問題