title: Django "request" object
body: <p>I just started learning Django and Python a few weeks ago and have been tasked with a project to manage form processing using a Django/Python/MySQL combination.  My background is in C++, so if there are any C++ analogies in Python/Django syntax please feel free to reference them.</p>
  <p>So far I understand what the HTTPRequest objects do, but can't understand this snippet of code:</p>
  <pre><code>@login_required(login_url=&quot;/some_directory/&quot;)
  def xyz(request):
      item1 = request.GET['item1']
      user = request.user
      page = Page.objects.get(title = item1)
      item1info = {}
      perm_all = get_perms(user,page)
      item1info[&quot;industry&quot;] = page.industry.split(',')
  </code></pre>
  <p>For the first line what does &quot;@&quot; do? Is &quot;@login_required&quot; a Django command or was was it defined by the coder already?</p>
  <p>I know &quot;def xyz(request)&quot; defines a function, but is the parameter &quot;request&quot; something that's been pre-defined in another file (urls.py)?</p>
  <p>What does request.GET['item1'] do? Is it retrieving the value of the element &quot;item1&quot; from the query string?</p>