我剛剛在幾周前開始學習Django和Python,並且負責使用Django/Python/MySQL組合管理表單處理的項目。我的背景是C++,所以如果Python/Django語法中有任何C++類比可以隨意引用它們。Django「請求」對象
到目前爲止,我明白了的HTTPRequest對象做,但無法理解這樣的代碼片段:
@login_required(login_url="/some_directory/")
def xyz(request):
item1 = request.GET['item1']
user = request.user
page = Page.objects.get(title = item1)
item1info = {}
perm_all = get_perms(user,page)
item1info["industry"] = page.industry.split(',')
對於第一線什麼是「@」嗎? 「@login_required」是一個Django命令還是被編碼器定義了?
我知道「def xyz(request)」定義了一個函數,但它是在另一個文件(urls.py)中預先定義的參數「request」嗎?
request.GET ['item1']做了什麼?它是從查詢字符串中檢索元素「item1」的值嗎?
@login_required是裝飾者。裝飾器是Python中的一個基本概念。我建議你在嘗試理解django之前閱讀python tutorial/book。 –