models.py:私が欲しいジャンゴ - どのようにユーザーがログイン得るために(リストビューでget_queryset)
url(r'^member/user_locations/$', UserLocationsListView.as_view(), name='user_locations'),
:
from django.contrib.auth.models import User
class Location(models.Model):
user = models.ForeignKey(User)
views.py
class UserLocationsListView(ListView):
model = Location
context_object_name = 'user_locations'
def get_queryset(self):
user_locations = Location.objects.filter(user=self.request.user)
paginator = Paginator(user_locations, 10)
page = self.request.GET.get('page')
try:
user_locations = paginator.page(page)
except PageNotAnInteger:
user_locations = paginator.page(1)
except EmptyPage:
user_locations = paginator.page(paginator.num_pages)
return user_locations
urls.pyユーザはそのページの彼の場所のすべてを見ることができる。
(フィルタリングおよびページ定義にしながら)私はこれをどのように修正する必要があり
私はREQUESTで問題を抱えているようですか?
ありがとうございます!
Environment:
Request Method: GET
Request URL: http://localhost:8000/member/user_locations/
Django Version: 1.8.6
Python Version: 2.7.11
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
'allauth.socialaccount.providers.instagram',
'allauth.socialaccount.providers.twitter',
'crispy_forms',
'findlocation_app')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware')
Traceback:
File "C:\commercial_projects\fl\lib\site-packages\django\core\handlers\base.py" in get_response
164. response = response.render()
File "C:\commercial_projects\fl\lib\site-packages\django\template\response.py" in render
158. self.content = self.rendered_content
File "C:\commercial_projects\fl\lib\site-packages\django\template\response.py" in rendered_content
133. template = self._resolve_template(self.template_name)
File "C:\commercial_projects\fl\lib\site-packages\django\template\response.py" in _resolve_template
88. new_template = self.resolve_template(template)
File "C:\commercial_projects\fl\lib\site-packages\django\template\response.py" in resolve_template
78. return loader.select_template(template, using=self.using)
File "C:\commercial_projects\fl\lib\site-packages\django\template\loader.py" in select_template
64. return engine.get_template(template_name, dirs)
File "C:\commercial_projects\fl\lib\site-packages\django\template\backends\django.py" in get_template
30. return Template(self.engine.get_template(template_name, dirs))
File "C:\commercial_projects\fl\lib\site-packages\django\template\engine.py" in get_template
167. template, origin = self.find_template(template_name, dirs)
File "C:\commercial_projects\fl\lib\site-packages\django\template\engine.py" in find_template
141. source, display_name = loader(name, dirs)
File "C:\commercial_projects\fl\lib\site-packages\django\template\loaders\base.py" in __call__
13. return self.load_template(template_name, template_dirs)
File "C:\commercial_projects\fl\lib\site-packages\django\template\loaders\base.py" in load_template
17. template_name, template_dirs)
File "C:\commercial_projects\fl\lib\site-packages\django\template\loaders\filesystem.py" in load_template_source
38. return fp.read(), filepath
File "C:\commercial_projects\fl\lib\codecs.py" in decode
314. (result, consumed) = self._buffer_decode(data, self.errors, final)
Exception Type: UnicodeDecodeError at /member/user_locations/
Exception Value: 'utf8' codec can't decode byte 0xcf in position 748: invalid continuation byte
は、必要なログインを使用するには良いでしょう[デコレータ](https://docs.djangoproject.com/en/1.9/topics/auth/default/#the-login-required-decorator)デコレータまたは[mixin](https://docs.djangoproject.com/en/1.9/topics/auth/default/#django.contrib.auth.mixins.LoginRequiredMixin)を使用して、ログインしていないユーザーがページを見ることを防ぐことができます。場所でユーザーフィールドを空白にすることができれば、匿名ユーザーはユーザーなしですべての場所を見ることはできません。 – Alasdair