准备工作
service mysqld start
create database web10 default character set utf8;
django-admin.py startproject web10
django-admin.py startapp blog
admin.py创建
settings配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'web10',
'USER': 'root',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
TIME_ZONE = 'Asia/Shanghai'
LANGUAGE_CODE = 'zh-cn'
MEDIA_ROOT ='./upload/' #媒体文件夹在这个文件夹里面
MEDIA_URL = '/mytes/' #media_root 映射的url路径
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
'django.contrib.admin',
)
models配置
#coding:utf8
from django.db import models
from django.contrib import admin
sex_choices = (
('m','Male'),
('f','Female')
)
class Emp (models.Model):
name = models.CharField(verbose_name=u'姓名',max_length=20)
sex = models.CharField(choices = sex_choices,max_length=1,verbose_name=u'性别' )
birthday = models.DateField()
headImg = models.FileField(upload_to='./headimg/')#这里增加了一个字段,同步无>效,进去麻烦,所以果断删掉重建。
class Meta:
ordering=['name'] #内部类
class EmpAdmin(admin.ModelAdmin): #这个类只是修饰Emp类的,所以注册的时候要注意粘在一块
list_display = ['name','sex','birthday']
search_fields = ['name','sex']
list_filter = ['birthday']
class New(models.Model):
title = models.CharField(max_length=100,verbose_name=u'标题')
content = models.TextField(verbose_name=u'新闻')
def __unicode__(self):
return self.title
uls配置
from django.conf.urls.defaults import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
)
admin.py注册
from django.contrib import admin
from blog.models import Emp,EmpAdmin,New
admin.site.register(Emp,EmpAdmin) #这里Emp和EmpAdmin一块注册,而New单独注册,因为,EmpAdmin是修饰Emp的。
admin.site.register(New)
数据库的写入,服务器的运行
python manage.py syncdb
python manage.py runserver
此后,就可以进入管理界面进行操作了。
这个项目比上一个项目增加了中文处理,排序处理,各种field处理,内置类处理,修饰类处理,查询处理