>

"프로젝트의 django-templates를 설정하고 있습니다. o 학교 행사 및 직업 목록을 표시합니다. 목록의 항목을 클릭하면 목록의 세부 정보를 표시하는 응답을 원합니다. "

모델에 슬러그 필드를 추가하려고했지만 몇 번 URL을 변경했지만 여전히 목표에 도달하지 못합니다

models.py

class Events(models.Model):    
    title = models.CharField(max_length=80)
    host = models.CharField(max_length=80)
    venue = models.CharField(max_length=80)
    event_image = models.ImageField()
    details = models.TextField()
    posted_at = models.DateTimeField(auto_now_add=True)
    start_time = models.DateTimeField()
    end_time = models.DateTimeField()
    contacts = models.CharField(max_length=80)
    sponsors = models.CharField(max_length=80, null=True, blank=True)
    slug = models.SlugField(max_length=150, null=True, blank=True)
    class Meta:
        ordering = ('-posted_at',)

views.py

class EventsListView(ListView):
    model = Events
    form_class = EventsForm
    context_object_name = 'all_events'
    template_name = 'events_list.html'
    success_url = reverse_lazy('list_events')
    def get_queryset(self):
        qs = super(EventsListView, self).get_queryset()
    return qs


class DetailEventsView(DetailView):
    model = Events
    def render_to_response(self, context, **response_kwargs):
        if self.request.is_ajax():
            return JsonResponse('Your comment has been                     uploaded!',safe=False, **response_kwargs)
    else:
        return super(DetailView,self).render_to_response(context, **response_kwargs)

def get_context_data(self, **kwargs):
    context = super(Events, self).get_context_data(**kwargs)
    data = self.kwargs['name']
    context['object'] = Events.objects.filter(events_id=data)
    return context

url.py

urlpatterns = [
    url(r'^create-events/$', CreateEventsView.as_view(), 
    name='create_events'),
    url(r'^list-events/$', EventsListView.as_view(), 
    name='list_events'),
    url(r'^(?P<events_id>\d+)$', DetailEventsView.as_view(), 
    name='detail_events'),
    ]

서식 파일

<div>
  {% for events in all_events %}
    <li>
     <a href="{% url 'posts:list_events'  %}"> {{ events.title }}  
 </a>  
    </li>
    <a href="{% url 'posts:detail_events' %}" class="btn btn-default"> 
   {% trans '{{ events.title }}' %}</a>
  {% endfor %}
 </div>

Reverse for 'detail_events' with no arguments not found. 1 pattern(s) tried: ['(?P<events_id>\\d+)$']


  • 답변 # 1

    잘 알고 있었지만 저와 같은 초보자들을 돕기 위해, 문제는 템플릿이었습니다.

       <a href="{% url 'posts:detail_events' %}" class="btn btn-default">
    
    

    그러나 이런 식이어야합니다

    <a href="{% url 'posts:detail_events' events.id %}">       {% trans '{{ events.title }}' %}</a>
    
    

    자세한 내용은 다음과 같습니다

    <h1 class="mt-4 text-center">{{ events.title }}</h1>
           host : <p>{{ events.host }}</p>
           ......
    
    

  • 이전 java - 코드를 다른 파일로 분리하고 Android의 onCreate 메소드에서 호출하는 방법
  • 다음 visual studio code - 터미널 (주로 GIT)에 특정 단어를 쓰려면 어떻게해야합니까?