django - يوتيوب - كالفن كاندي



تمرير المعلمات إلى دجانغو كريتيفيو (1)

الحصول على المعلمات (تلك بعد؟) ليست جزءا من عنوان ورل وغير متطابقة في urls.py: سوف تحصل على ذلك من request.GET ديكت. ولكن من الأفضل بكثير جعل هذا الجزء من المعلمة من عنوان ورل نفسه، لذلك سيكون له تنسيق "/ كريت-سيسيونس / 1 /".

لذا سيكون أورلكونف:

url(r'^create-sessions/(?P<class>\d+)/$', CreateSessionsView.as_view(), name='create_sessions')

ويمكن أن يكون الرابط الآن:

<a href="{% url create_sessions class=object.pk %}">Create Session</a>

والآن في form_valid يمكنك القيام به:

event = Event.objects.get(pk=self.kwargs['class'])

أنا أحاول تنفيذ تطبيق تحديد المواعيد حيث يمكن للمستخدمين إنشاء جلسات مرتبطة مع الطبقات الموجودة مسبقا. ما أحاول القيام به هو استخدام دجانغو كراتيفيو لإنشاء جلسة دون أن يطلب من المستخدم لفئة المرتبطة بها، في حين تحت غطاء محرك السيارة تعيين فئة للدورة. أحاول القيام بذلك عن طريق تمرير في بيكاي من الطبقة في عنوان ورل، حتى أتمكن من البحث عن الطبقة داخل كريتفيو وتعيين فئة إلى الدورة.

ما لا أستطيع معرفة كيف هو بالضبط للقيام بذلك. أظن أنه في النموذج أريد أن يكون لديك شيء مثل <a href="{% url create_sessions %}?class={{ object.pk }}>Create Session</a> ضمن ديتايلفيو للفئة، و عنوان ورل في ملف urls.py يحتوي على url(r'^create-sessions?class=(\d+)/$', CreateSessionsView.as_view(), name = 'create_sessions') للخط url(r'^create-sessions?class=(\d+)/$', CreateSessionsView.as_view(), name = 'create_sessions') كريت-سيسيونس url(r'^create-sessions?class=(\d+)/$', CreateSessionsView.as_view(), name = 'create_sessions') ، ولكن أنا جديد جدا جانغو ولا تفهم بالضبط حيث يتم إرسال هذه المعلمة إلى بلدي كبف وكيفية الاستفادة منه.

خطتي لإنقاذ الفصل إلى الدورة هي تجاوز form_valid في بلدي كبف ليكون:

def form_valid(self, form): form.instance.event = event return super(CreateSessionsView, self).form_valid(form)

إذا كان هذا غير صحيح بشكل صارخ واسمحوا لي أن أعرف، كذلك.

شكرا لكم!





django-class-based-views