图片中是相关部分的代码
-----models.py------
from __future__ import unicode_literals
import datetime
from django.db import models
from django.contrib.auth.models import User
from django.utils.encoding import python_2_unicode_compatible
from django.utils import timezone
from django.contrib.auth.models import AbstractUser
@python_2_unicode_compatible
class NewUser(AbstractUser):
def __str__(self):
return self.username
@python_2_unicode_compatible
class StudentUser(models.Model):
user = models.ForeignKey('NewUser', null=True)
student_no = models.CharField('student_no', max_length=10)
student_class = models.CharField('student_class', max_length=8)
teacher_major = models.TextField('student_major', default='')
def __str__(self):
return self.username
@python_2_unicode_compatible
class TeacherUser(models.Model):
user = models.ForeignKey('NewUser', null=True)
employee_no = models.CharField('employee_no', max_length=10)
teacher_major = models.TextField('teacher_major', default='')
def __str__(self):
return self.username
class CourseManager(models.Manager):
def query_by_time(self):
query = self.get_queryset().order_by('pub_date')
return query
def query_by_category(self, category):
query = self.get_queryset().order_by('category')
return query
def query_by_keyword(self, keyword):
query = self.get_queryset().filter(title__contains=keyword)
return query
def query_by_thumbup(self, thumbup):
query = self.get_queryset().order_by('thumbup')
return query
@python_2_unicode_compatible
class Course(models.Manager):
course_id = models.IntegerField(default=0)
course_name = models.TextField('course_name', default='')
course_intro = models.TextField('course_intro', default='')
thumbup = models.IntegerField(default=0)
pub_date = models.DateField('date published')
dead_line = models.DateField('deadline published')
category = models.CharField(max_length=100)
def was_published_recently
(self):
now = timezone.now()
return now - datetime.timedelta(days=1) <= self.pub_date <= now
was_published_recently.admin_order_field = 'pub_date'
was_published_recently.boolean = True
was_published_recently.short_description = 'Was published recently?'
def __str__(self):
return self.course_name
objects = CourseManager()
-----views.py--------
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("test.")
---admin.py----
from django.contrib import admin
from .models import StudentUser, TeacherUser, Course
class CourseAdmin(admin.ModelAdmin):
fieldsets = [
('Primary Key', {'fields': ['course_id'],'classes': ['collapse']}),
('Course Name', {'fields': ['course_name'],'classes': ['collapse']}),
('Date information', {'fields': ['pub_date'],'classes': ['collapse']}),
]
list_display = ('course_id','course_name', 'category', 'pub_date', 'dead_line', 'was published recently')
list_filter = ['pub_date']
search_fields = ['course_name']
-----forms.py-----
[code]from django import forms
class LoginForm(forms.Form):
uid = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control' ,'id':'uid', 'placeholder': '用户名'}))
pwd = forms.CharField(widget=forms.PasswordInput(attrs={'class':'form-control' ,'id':'pwd', 'placeholder': '密码'}))
class RegisterForm(forms.Form):
username = forms.CharField(label='username', max_length=100,
widget=forms.TextInput(attrs={'id':'username','onblur':'authentication()'}))
email = forms.EmailField()
password1 = forms.CharField(widget=forms.PasswordInput)
password2 = forms.CharField(widget=forms.PasswordInput)
class SetIntoForm(forms.Form):
username = forms.CharField()
class CommentForm(forms.Form):
comment = forms
.CharField(label='', widget=forms.Textarea(attrs={'cols':'60', 'rows':'6'}))
admin.site.register(Course,CourseAdmin)
错误报告:
Unhandled exception in thread started by <function wrapper at 0x0000000005B23B38>
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper
fn(*args, kwargs)
File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 113, in inner_run
autoreload.raise_last_exception()
File "C:\Python27\lib\site-packages\django\utils\autoreload.py", line 249, in raise_last_exception
six.reraise(_exception)
File "C:\Python27\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper
fn(args, kwargs)
File "C:\Python27\lib\site-packages\django__init.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Python27\lib\site-packages\django\apps\registry.py", line 115, in populate
app_config.ready()
File "C:\Python27\lib\site-packages\django\contrib\admin\apps.py", line 23, in ready
self.module.autodiscover()
File "C:\Python27\lib\site-packages\django\contrib\admin__init.py", line 26, in autodiscover
autodiscover_modules('admin', register_to=site)
File "C:\Python27\lib\site-packages\django\utils\module_loading.py", line 50, in autodiscover_modules
import_module('%s.%s' % (app_config.name, module_to_search))
File "C:\Python27\lib\importlib__init.py", line 37, in import_module
import__(name)
File "C:\wamp64\www\myFiles\titcoder3\course\admin.py", line 16, in <module>
admin.site.register(Course,CourseAdmin)
File "C:\Python27\lib\site-packages\django\contrib\admin\sites.py", line 86, in register
for model in model_or_iterable:
TypeError: 'type' object is not iterable