名前が 'add_member_address'の2つの場所に機能があります。
ビューで定義されている最初の方法を以下に示します。2つのモジュールで同じ名前の2つのメソッドを区別する方法(1つのファイルで使用する場合)
@login_required(login_url='/accounts/login/')
def add_member_address(request, member_id):
if request.method == "GET":
pass
else:
data = request.POST
add_member_address(data, member_id) #<-this method is defined in another file.
フローが内部add_member_address
に達すると、この外部メソッドだけを呼び出しようとします。だから私はこの内部の方法の完全な道を区別しようとしました。
tenant.services.address_services.add_member_address(data, member_id)
ここで、テナントは設定ファイルに既に登録されているマイアプリの名前です。しかし今、このエラーがスローされます。
name 'tenant' is not defined
フォルダ構造:service/__init__.py
ファイル内
project
->tenant
->services
-> __init__.py
-> address_services.py
-> here is this add_member_address(data, member_id) method
-> other_services.py
->views
->members.py
->here is this add_member_address(request, member_id) method
は、すべてのサービスが
from .address_services import *
from .tag_services import *
以下のようにインポートされ、私は同じの二つの方法を区別することができますどのように
1.私を提案してください。同じファイルで使用されている場合、2つの異なるモジュールに分かれています。
2.ファイルの上にインポートするのではなく、フルパスでメソッドを使用する方法。
簡単に: 'from module import *'は使用しないでください。 – TigerhawkT3