学习下Django Step by Step (七)

Django Step by Step (七)
作者: limodou
联系: limodou@gmail.com
版本: 0.1
主页: http://wiki.woodpecker.org.cn/moin/NewEdit
BLOG: http://www.donews.net/limodou
版权: FDL


在之前的基础上学习一下admin
http://www.woodpecker.org.cn/obp/django/django-stepbystep/newtest/doc/tut07.html

django-admin.py startproject newsite. This will create a mysite directory in your current directory.
修改 settings.py
 'django.contrib.admin',
 'new2.address' ,

修改 urls.py
(r'^admin/', include('django.contrib.admin.urls')),
#它使用了一个 include 方式。对于这种URL的解析 Django 是分段的,先按 r'^admin/' 解析(这里没有 $),匹配了则把剩下的部分丢给 django.contrib.admin.urls.admin 去进行进一步的解析。使用 include 可以方便移植,每个 app 都可以有独立的 urls.py ,然后可以与主 urls.py 合在一起使用。配置起来相对简单。而且可以自由地在主 urls.py 中修改应用URL的前缀,很方便。

创建一个app 叫address的,并且修改它的models
#-*- coding: gb2312 -*- #用unicode编码
from django.db import models

# Create your models here.

class Address(models.Model):
    name = models.CharField(u'姓名', maxlength=20, unique=True)
    gender = models.CharField(u'性别', choices=((u'M', u'男'), (u'F', u'女')),/
        maxlength=1, radio_admin=True)
    telphone = models.CharField(u'电话', maxlength=20)
    mobile = models.CharField(u'手机', maxlength=11)
    def __unicode__(self):
        return self.name #使返回的名字有可读性,__str__() method to return a “human-readable” representation of the object
                         #用__unicode__,不用__str__()是因为str会把数据转换成utf-8导致出错,因为我这里用的是gb2312
    class Admin: pass
举例
>>> a
<Article: Area man programs in Python>


manage.py syncdb  #这样将在数据库中创建 admin 相关的表。
访问http://127.0.0.1:8000/admin会出现一个登陆界面
可以用下面的命令创建超级用户,如果你使用了 syncdb 的话,应该在运行的最后,当没有超级用户时会提示你创建的。因此这一步可能会省略掉。如果想直接创建可以使用这种方法。

manage.py shell
>>> from django.contrib.auth.create_superuser import createsuperuser
>>> createsuperuser()

manage.py runserver

manage.py sqlreset address|sqlite3 data.db
sqlreset 后面是要处理的 app 的名字,因此它只会对指定的 app 有影响。但这样,这个 app 的所有数据都丢失了。如果想保留原有数据,你需要手工做数据切换的工作。

 修改 settings.py 中国化它的参数
把 LANGUAGE_CODE 由 'en' 改为 'zh-cn' , TIME_ZONE 建议改为 'CCT'

为 address 应用增加了自已的 urls.py


django.views.generic.list_detail 模块来处理简单的列表显示功能
info_dict = {
#    'model': Address,
    'queryset': Address.objects.all(),
}#info_dict是自己命名的,'queryset'是必须的,值是一个对象的列表
urlpatterns = patterns('',
    (r'^/?$', 'django.views.generic.list_detail.object_list', info_dict),
)#object_list是网页里面的引用的名字

创建 templates/address/address_list.html
修改 urls.py  (r'^address/', include('new2.address.urls')),

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值