मैं Django के साथ नए हूँ और मैं djangoproject.com पर 4 भाग ट्यूटोरियल समाप्तDjango जेनेरिक डेकोरेटर का उपयोग कर दृश्य login_required
मेरे समस्या मैं अपने चुनाव एप्लिकेशन पर एक लॉगिन प्रमाणीकरण रखना चाहते है। मैंने सजावटी @login_required का उपयोग किया है और यह ठीक से काम करता है लेकिन मेरे views.py के पास केवल वोट() विधि है।
के तहत मेरे views.py "चुनाव फ़ोल्डर"
from django.shortcuts import render_to_response, get_object_or_404
from django.http import HttpResponseRedirect, HttpResponse
from django.contrib.auth.decorators import login_required
from django.views.decorators.cache import never_cache
from django.core.urlresolvers import reverse
from django.template import RequestContext
from polls.models import Poll, Choice
@login_required
@never_cache
def vote(request, poll_id):
p = get_object_or_404(Poll, pk=poll_id)
try:
selected_choice = p.choice_set.get(pk=request.POST['choice'])
except (KeyError, Choice.DoesNotExist):
return render_to_response('polls/detail.html', {
'poll': p,
'error_message': "You didn't select a choice.",
}, context_instance=RequestContext(request))
else:
selected_choice.votes += 1
selected_choice.save()
return HttpResponseRedirect(reverse('poll_results', args=(p.id,)))
return HttpResponse("You're voting on poll %s." % poll_id)
के तहत मेरे urls.py "चुनाव फ़ोल्डर"
from django.conf.urls.defaults import patterns, include, url
from django.views.generic import DetailView, ListView
from polls.models import Poll
urlpatterns = patterns('',
url(r'^$',
ListView.as_view(
queryset = Poll.objects.order_by('-pub_date')[:5],
context_object_name = 'latest_poll_list',
template_name = 'polls/index.html'), name='poll_lists'),
url(r'^(?P<pk>\d+)/$',
DetailView.as_view(
model = Poll,
template_name = 'polls/detail.html'), name='poll_details'),
url(r'^(?P<pk>\d+)/results/$',
DetailView.as_view(
model = Poll,
template_name = 'polls/results.html'), name = 'poll_results'),
url(r'^(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
)
मेरी urls.py के तहत मैं सामान्य दृश्यों का उपयोग कर सकते है।
समस्या यह है कि: मैं चुनाव ऐप के "अनुक्रमणिका" के तहत आवश्यक लॉगिन कैसे रखूंगा। ताकि उपलब्ध चुनाव देखने से पहले उपयोगकर्ता पहले लॉगिन करेगा।
वर्तमान है: मैंने अपने views.py और विधि वोट() के तहत आवश्यक लॉगिन का उपयोग किया है, इसे वोटिंग के बाद लॉगिन की आवश्यकता होगी।
कोई भी मेरी मदद कर सकता है?
धन्यवाद, जस्टिन
पकड़ा ImportError में जबकि प्रतिपादन: नाम ListVieiw आयात नहीं कर सकते << जब मैं अपने urls.py जवाब – justin
मैं अपने जवाब – San4ez
मैं एक ही त्रुटि प्राप्त अद्यतन का उपयोग मैं इस त्रुटि मिलती है, मैं दूसरे दृष्टिकोण का पालन करता हूं – justin