首先,我想为我的英语道歉。我很难用英语写这个问题,但我在俄罗斯网站上找不到任何关于我问题的想法。所以,我想在学校网站上创建一个时间表。在我的模型.py:
class Classes(models.Model):
class Meta:
db_table = 'classes'
verbose_name_plural = "School_classes"
verbose_name = "School_class"
name = models.CharField(max_length=50, unique=True, verbose_name = 'School_classes')
def __str__(self):
return self.name
class Lessons(models.Model):
class Meta():
db_table = "lessons"
verbose_name_plural = "Lessons"
verbose_name = "Lessons"
lessons_class = models.ForeignKey(Classes)
lessons_creationdate = models.DateField()
lessons_weekcontent = RichTextField()
然后,在表单.py我有:
^{pr2}$在我的视图.py:
def ShowTimetable(request):
LForm = LessonsForm(request.POST or None)
args = {}
args['classes'] = Classes.objects.all()
args['lessons'] = Lessons.objects.all()
args['showlessons'] = LForm
args.update(csrf(request))
if request.method == 'POST' and LForm.is_valid():
CurrentClass = LForm.cleaned_data('currentclass', None)
args['class_name'] = CurrentClass
args['lessons'] = Lessons.objects.filter(lessons_class = CurrentClass)
if args['lessons']:
return render_to_response('Weekcontentpage.html',args )
else:
return render_to_response('Weekcontentpage_null.html',args )
else:
return render_to_response('myview.html',args )
最后,在我的视图.html
{% extends 'base.html' %}
{% block content %}
<form method="post">
{% csrf_token %}
{{ showlessons }}
<input type="submit" value="Show timetable">
</form>
{% endblock %}
在Weekcontentpage.html:
{% extends "base.html" %}
{% block content %}
<h4>On request "{{ class_name }}:</h4>
{% for lesson in lessons %}
<h6>Date:{{ lesson.lessons_creationdate }}</h6>
<h4>{{ lesson.lessons_weekcontent }}</h4>
{% endfor %}
{% endblock content %}
和周内内容页_空.html: {%扩展”基本.html“%}
{% block content %}
<h4> On "{{class_name}}" is nothing found :( (</h4>
{% endblock content %}
现在,当我在下拉菜单中选择并按下“显示时间表”按钮后,我只看到“无”并且什么也没有找到:(。我知道问题出在视图.py,所以我无法从下拉列表中获取值,但我不知道如何修复它。所以我很感激你的帮助。感谢和抱歉我的英语:)
和其他领域一样。在
问题是您已经定义了一个表单类,但是您根本没有以任何方式使用它。与其忽略表单并从
request.POST
获取数据,不如用POST数据实例化表单,对其调用is_valid()
,然后从form.cleaned_data
获取结果。在相关问题 更多 >
编程相关推荐