鉴于我有2个型号:
我的django项目目录的结构如下:
\timetable_generator
\detailscourse
\templates
\detailscourse
\partials
add_course.html
admin.py
models.py
views.py
\detailsdepartment
\templates
\detailsdepartment
\partials
add_department.html
admin.py
forms.py
models.py
views.py
models.py-detailsdepartment 看起来像这样:
from django.db import models
# Create your models here.
class Department(models.Model):
department_id = models.CharField(primary_key=True, max_length=20)
department_name = models.CharField(max_length=100)
def __str__(self):
return self.department_name
forms.py-detailsdepartment 看起来像这样:
from django import forms
from .models import Department
class DepartmentForm(forms.ModelForm):
class Meta():
model = Department
fields = '__all__'
views.py-detailsdepartment 看起来像这样:
from django.shortcuts import render, redirect
from django.contrib import messages
from .models import Department
from .forms import DepartmentForm
# Create your views here.
def adddepartment(request):
form_class = DepartmentForm
form = form_class(request.POST or None)
if request.method == 'POST':
if form.is_valid():
cleaned_info = form.cleaned_data
form.save(commit=True)
messages.success(request, 'The department is added successfully.')
return redirect('/detailsdepartment/adddepartment')
else:
messages.error(request, 'Department ID already exists.')
return redirect('/detailsdepartment/adddepartment')
else:
return render(request,'detailsdepartment/add_department.html', {'form':form})
admin.py-detailsdepartment 如下:
from django.contrib import admin
from .models import Department
# Register your models here.
class DepartmentAdmin(admin.ModelAdmin):
list_display = ['department_id', 'department_name']
admin.site.register(Department, DepartmentAdmin)
And the web page of the Department section looks like this
add_course.html-detailscourse 看起来像这样:
.
.
.
<div class="row mb-5">
<div class="col-lg-12">
<form class="p-4 p-md-5 border rounded" method="post">
<h3 class="text-black mb-5 border-bottom pb-2">Course Details</h3>
<div class="form-group">
<label for="select-semester">Department ID</label>
<select class="selectpicker border rounded" id="select-department-d" data-style="btn-black" data-width="100%" title="Select Department ID">
<option>--------</option>
<option>--------</option>
<option>--------</option>
<option>--------</option>
</select>
</div>
.
.
.
.
问题
我想从下拉列表的 options 部分的 models.py-detailsdepartment 中添加部门ID 。
>models.py-detailscourse 看起来像这样:
from django.db import models
# Create your models here.
class Course(models.Model):
pass
要在此处编写哪些代码?
views.py-detailscourse 看起来像这样:
from django.shortcuts import render
# Create your views here.
def addcourse(request):
return render(request,'detailscourse/add_course.html')
还要在此处编写代码做什么?
问题
我是否需要在detailscourse应用中创建 forms.py
问题
还需要在 add_course.html 中进行更改以在网页中反映出来。
在此先感谢您。