В настоящее время я использую Django 1.8.3 и Python 3.4, я создал следующий сайт, который является макетным сайтом для подписки на курсы (http://imgur.com/G5JvCzY), где названия связаны с другой страницей, например (http://imgur.com/cZlfyBn), что я хочу сделать, чтобы суперпользователь смог «зарегистрировать» в этих классах через кнопку на странице 2, любые предложения, как это сделать? Вот мой код ниже, извините за стену текста:Django Как зарегистрировать пользователя в классах
Directory Project:
* cacademy:
* __pycache__
* __init__
* settings
* urls
* wsgi
* Classes:
* __pycache__
* migrations
* static
* __init__
* admin
* models
* tests
* urls
* views
* templates:
* cacademy:
* base.html
* classes_list.html
* courses_detail.html
*accounts:
* __pycache__
* migrations
* __init__
* admin
* models
* tests
* urls
* views
* db.sqlite3
* manage.py
Мои модели:
from django.db import models
from django.utils import timezone
class Course(models.Model):
title = models.CharField(max_length=200)
text = models.TextField()
teachername = models.TextField(max_length=200)
teacherinfo = models.TextField()
started_date = models.DateTimeField(default=timezone.now)
def __str__(self):
return self.title
Мои Просмотров:
from django.shortcuts import render
from django.utils import timezone
from .models import Course
from django.shortcuts import render, get_object_or_404
def classes_list(request):
courses = Course.objects.filter(started_date__lte=timezone.now()).order_by('started_date')
return render(request, 'cacademy/classes_list.html', {'courses': courses})
def course_detail(request, pk):
course = get_object_or_404(Course, pk=pk)
return render(request, 'cacademy/courses_detail.html', {'course': course})
Мой cacademy \ urls.py:
from django.conf.urls import include, url
from Classes import views
from django.contrib import admin
admin.autodiscover()
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^$', views.classes_list, name='classes_list'),
url(r'^(?P<pk>[0-9]+)/course/$', views.course_detail, name='course_detail'),
url(r'^accounts/', include('accounts.urls', namespace='accounts')),
]
Я знаю, что я могу использовать ForeignKey для отношений OneToMany, но я не могу понять идею ввода его в свой код, я хочу, чтобы суперпользователь зарегистрировался в этих курсах выше, любая помощь была бы оценена ,
Благодаря
спасибо за информацию, но каждый новый «курс» имеет автоматически всех пользователей, как я могу их удалить? – Sylas
@ Силы Нет, это не так. Каждый новый курс не имеет пользователей при создании, это только отношение уровня базы данных между двумя таблицами: курс и пользователь. Когда вам нужно добавить пользователя к курсу, вы можете использовать 'course.users.add (user)' и когда вам нужно его удалить - 'course.users.remove (user)'. После одной из этих операций вы должны выполнить 'course.save()'. – zen11625