我正在尝试使用python将数据添加到html页面,但页面与页面上的常规元素不同。
这是我的views.py
:
def index(request):
next = request.GET.get('next', '/admin')
if request.method == "POST":
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
data = Students.objects.all()
return render_to_response("login/profile.html", {'data', data})
else:
HttpResponse("Inactive User.")
else:
print("User Not Found!")
return HttpResponseRedirect(settings.LOGIN_URL)
return render(request, 'login/home', {'redirect_to':next})
这是我的学生模块:
class Students(models.Model):
student_number = models.IntegerField(primary_key=True)
f_name = models.CharField(max_length=20, blank=True, null=True)
l_name = models.CharField(max_length=20, blank=True, null=True)
dob = models.DateField(blank=True, null=True)
address = models.CharField(max_length=144, blank=True, null=True)
county = models.CharField(max_length=20, blank=True, null=True)
phone_number = models.CharField(max_length=45, blank=True, null=True)
email = models.CharField(max_length=45, blank=True, null=True)
gpa = models.IntegerField(blank=True, null=True)
course_code = models.ForeignKey(Courses, models.DO_NOTHING, db_column='course_code', blank=True, null=True)
college = models.ForeignKey(Colleges, models.DO_NOTHING, blank=True, null=True)
passwords = models.CharField(max_length=60, blank=True, null=True)
class Meta:
db_table = 'students'
我的html页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>HEY!!!!</h1>
<p>
{{ data.f_name}}
{{ data.l_name }}
{{ data.student_number }}
{{ data.dob }}
</p>
<a href="/">logout</a>
</body>
</html>
我已经看了一段时间,但我似乎无法找到为什么我的页面上没有显示任何内容。如果有人可以提供帮助,我会很感激!
答案 0 :(得分:2)
在您的上下文中,您传递Student.objects.all(),这是一个学生列表。然后将treat视为模板中的单个对象。您需要遍历列表。
答案 1 :(得分:2)
我花了一段时间,但我认为我终于找到了答案。
将此内容添加到views.py
中data = Students.objects.all()
stu = {
"student_number": data
}
return render_to_response("login/profile.html", stu)
然后它遍历存储在stu
变量
{% for student in student_number %}
{{ student.f_name}}
{{ student.l_name }}
{{ student.student_number }}
{{ student.dob }}
{% endfor %}
答案 2 :(得分:0)
另一个可能的原因是当/* USE DOWNLOADED LIBRARY */
// $this->load->library('csvimport');
// $tryOne = $this->csvimport->get_array();
$csv = $upload_data['full_path'];
$tryOne = array();
if( file_exists( $csv ) ){
$file = fopen( $csv , 'r' ); // r flag is for readonly mode
while( ( $line = fgetcsv( $file ) ) !== false ) { // if line exists
$tryOne[] = $line; // add to array
}
fclose( $file );
}
echo "<pre>";
print_r($tryOne);
不是request.method
(应该是POST
)时,您没有在上下文中传递GET
。你回来了:
data
代替。当你有未定义的变量时,Django模板不会给你错误,但它也不会显示任何内容。