`

django 学习

阅读更多
    开始学习django了,我列出一些学习django的资料。
    我觉得http://www.woodpecker.org.cn/obp/django/django-stepbystep/newtest/doc/这个地方的教程很好,教程上有些东西是老版本的,可能会编译不通过,或者是达不到预期的效果,我会在接下来的时间给出新的用法,随着我的试验我会慢慢给出新的用法。补充一点,这里我的工程名是djproject,可以根据自己的实际环境换。

Note:红色是老用法,蓝色是新用法,其他的算是旁白,哈哈

第六章

3   编辑 wiki/models.py中

from django.db import models
# Create your models here.
class Wiki(models.Model):
   pagename = models.CharField(maxlength=20, unique=True)
    content = models.TextField()

新的用法是

  pagename = models.CharField(max_length=20, unique=True)
就是maxlength变成了max_length
   
6   修改 wiki/views.py
import re

r = re.compile(r'\b(([A-Z]+[a-z]+){2,})\b')
def process(template, page):
    """处理页面链接,并且将回车符转为<br>"""
    t = loader.get_template(template)
    content = r.sub(r'<a href="/wiki/\1">\1</a>', page.content)
   content = re.sub(r'[\n\r]+', '<br>', content)
    c = Context({'pagename':page.pagename, 'content':content})

    return HttpResponse(t.render(c))
新的用法是

    content = re.sub(r'[\r]+', '<br>', content) #linux下的回车符
    Context({'pagename':page.pagename,'content':content},autoescape=False)#取消django的自动转义


同时我说下这里可以自己添加异常处理;比如
   try:
         page = Wiki.objects.get(pagename='FrontPage')
         except ObjectDoesNotExist:
             print "doesn't exist"



第七章
3   修改 address/models.py

#coding=utf-8
from django.db import models

# Create your models here.

class Address(models.Model):
    name = models.CharField('姓名', maxlength=6, unique=True)
    gender = models.CharField('性别', choices=(('M', '男'), ('F', '女')),
        maxlength=1, radio_admin=True)
    telphone = models.CharField('电话', maxlength=20)
    mobile = models.CharField('手机', maxlength=11)


新的用法为
#coding=utf-8
from django.db import models
 
# Create your models here.

class Address(models.Model):
     name=models.CharField('姓名',max_length=6,unique=True)
      gender=models.CharField('性别',choices=(('M','男'),('F','女')),max_length=1)
      telphone=models.CharField('电话',max_length=20)
     mobile=models.CharField('手机',max_length=11)

from django.contrib import admin
 
class AddressAdmin(admin.ModelAdmin):
      model=Address
    radio_fields={'gender':admin.VERTICAL}

  admin.site.register(Address,AddressAdmin)


6   修改 urls.py

from django.conf.urls.defaults import *

urlpatterns = patterns('',
    # Example:
    # (r'^testit/', include('newtest.apps.foo.urls.foo')),
    (r'^$', 'newtest.helloworld.index'),
    (r'^add/$', 'newtest.add.index'),
    (r'^list/$', 'newtest.list.index'),
    (r'^csv/(?P<filename>\w+)/$', 'newtest.csv_test.output'),
    (r'^login/$', 'newtest.login.login'),
    (r'^logout/$', 'newtest.login.logout'),
    (r'^wiki/$', 'newtest.wiki.views.index'),
    (r'^wiki/(?P<pagename>\w+)/$', 'newtest.wiki.views.index'),
    (r'^wiki/(?P<pagename>\w+)/edit/$', 'newtest.wiki.views.edit'),
    (r'^wiki/(?P<pagename>\w+)/save/$', 'newtest.wiki.views.save'),

    # Uncomment this for admin:
     (r'^admin/', include('django.contrib.admin.urls')),
)


新的修改为
  1 from django.conf.urls.defaults import *
  2
  3 # Uncomment the next two lines to enable the admin:
  4 from django.contrib import admin
  5 admin.autodiscover()
  6
  7 urlpatterns = patterns('',
  8     # Example:
  9     # (r'^djproject/', include('djproject.foo.urls')),
10       (r'^$','djproject.helloworld.index'),
11     # Uncomment the admin/doc line below and add 'django.contrib.admindocs'
12     # to INSTALLED_APPS to enable admin documentation:
13     # (r'^admin/doc/', include('django.contrib.admindocs.urls')),
14       (r'^add/$','djproject.add.index'),
15       (r'^list/$','djproject.list.index'),
16       (r'^csv/(?P<filename>\w+)/$','djproject.csv_test.output'),
17       (r'^login/$','djproject.login.login'),
18       (r'^logout/$','djproject.login.logout'),
19       (r'^wiki/$','djproject.wiki.views.index'),
20       (r'^wiki/(?P<pagename>\w+)/$','djproject.wiki.views.index'),
21       (r'^wiki/(?P<pagename>\w+)/edit/$','djproject.wiki.views.edit'),
22       (r'^wiki/(?P<pagename>\w+)/save/$','djproject.wiki.views.save'),
23       (r'^wikidele/$','djproject.wiki.views.dele'),
24
25     # Uncomment the next line to enable the admin:
26       (r'^admin/(.*)', admin.site.root),
27     # (r'^admin/',include('django.contrib.admin.urls')),


7   增加超级用户
manage.py shell
>>> from django.contrib.auth.create_superuser import createsuperuser
>>> createsuperuser()


修改为
python manage.py createsuperuser就这个一个命令就可以了

分享到:
评论
1 楼 zkl_1987 2009-08-24  
好贴 顶

相关推荐

Global site tag (gtag.js) - Google Analytics