接着前面的,用Django编写后台。
命令:
python manage.py createsuperuserUsername: admin #自己填写Email address: admin@example.com #自己填写Password: ********** Password (again): ********* Superuser created successfully.
启动服务器:
python manage.py runserver
打开浏览器,输入 : http://127.0.0.1:8000/admin/
在 polls/models.py 中添加以下代码:
class Question(models.Model): # ... def was_published_recently(self): return self.pub_date >= timezone.now() - datetime.timedelta(days=1) was_published_recently.admin_order_field = 'pub_date' was_published_recently.boolean = True was_published_recently.short_description = 'Published recently?'在 polls/admin.py 中添加以下代码:
from django.contrib import admin
from polls.models import Question, Choice
class ChoiceInline(admin.TabularInline):
model = Choice
extra = 3
class QuestionAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields':['question_text']}),
('Date information',{'fields':['pub_date'], 'classes':['collapse']}),
]
inlines = [ChoiceInline]
list_display = ('question_text','pub_date','was_published_recently')
list_filter = ['pub_data']
search_fields = ['question_text']
admin.site.register(Question,QuestionAdmin)
在mysite/settings.py 中添加如下代码:
TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]然后在mysite/mysite 目录中,在第二个mysite的同级目录下,新建一个 templates 文件夹,在templates文件目录下,新建一个admin文件夹,将Django源文件中的 base_site.html 移动到新建的 admin文件夹中。
最后,整个项目文件,应该是如下结构:
mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py polls/ __init__.py admin.py migrations/ __init__.py models.py tests.py views.py templates admin base_site.html db.sqlite3
在Linux中,路径一般是 /usr/local/lib/python2.7/site-packages/django/contrib/admin/templatesdjango/contrib/admin/templates/admin/base_site.html
然后更改 base_site.html 的内容。将{{site_header|default:_('Django administration')}} 改为{{_('Polls administration') }}。