Django 1.7 初级教程or学习笔记(三)

来源:互联网 发布:xp 数据执行保护 编辑:程序博客网 时间:2024/06/05 03:55

接着前面的,用Django编写后台。

命令:

 python manage.py createsuperuser
 Username: 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 adminfrom polls.models import Question, Choiceclass ChoiceInline(admin.TabularInline):    model = Choice    extra = 3class 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:_('Djangoadministration')}} 改为{{_('Pollsadministration') }}


0 0