`
chensss2008
  • 浏览: 91618 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Django1.0修改后内容

阅读更多
今天在配置django 1.02 在激活Admin 時費了不少事,google了一下,原來是django 配置有變化。






可參考Django Step by Step 1.0.2

 The new tutorial is not finished yet.


urls.py




以前的这么写:


from

 django.conf.urls.defaults import

 *
urlpatterns = patterns('',
    (r'^admin/

', include('django.contrib.admin.urls

'),
)
Django1.0改成:


from

 django.conf.urls.defaults import

 *
from

 django.contrib import

 admin
admin.autodiscover()

urlpatterns = patterns('',
    (r'^admin/(.*)

', admin.site.root),
)

=========================================================================
models.py




以前:


class

 MyTag

(models.Model):
    name = models.CharField(blank=True, max_length=100)

    class

 Meta

:
        verbose_name = 'MyTag

'
        verbose_name_plural = 'MyTag

'

    class

 Admin

:
        pass



    def

 __unicode__

(self):
        return

 self.name

class

 MyEntry

(models.Model):
    title = models.CharField(blank=True, max_length=100)
    content = models.TextField(blank=True)
    pub_date = models.DateTimeField(blank=True, default=datetime.datetime.now)
    tags = models.ManyToManyField(MyTag, blank=True)

    class

 Meta

:
        verbose_name = 'Entry

'
        verbose_name_plural = 'Entries

'
        ordering = ['-pub_date

']

    class

 Admin

:
        list_display = ['title

', 'pub_date

']
        search_fields = ['title

', 'content

']
        js = ['/static/js/customize.js

']

    def

 __unicode__

(self):
        return

 self.title


Django1.0改成:


class

 MyTag

(models.Model):
    name = models.CharField(blank=True, max_length=100)

    class

 Meta

:
        verbose_name = 'MyTag

'
        verbose_name_plural = 'MyTag

'

    def

 __unicode__

(self):
        return

 self.name

class

 MyEntry

(models.Model):
    title = models.CharField(blank=True, max_length=100)
    content = models.TextField(blank=True)
    pub_date = models.DateTimeField(blank=True, default=datetime.datetime.now)
    tags = models.ManyToManyField(MyTag, blank=True)

    class

 Meta

:
        verbose_name = 'Entry

'
        verbose_name_plural = 'Entries

'
        ordering = ['-pub_date

']

    def

 __unicode__

(self):
        return

 self.title

admin.py



from

 django.contrib import

 admin
from

 models import

 MyTag, MyEntry

class

 MyEntryAdmin

(admin.ModelAdmin):
    list_display = ['title

', 'pub_date

']
    search_fields = ['title

', 'content

']

    class

 Media

:
        js = ['/static/js/customize.js

']

admin.site.register(MyTag)
admin.site.register(MyEntry, MyEntryAdmin)

======================================
forms
以前:


from

 django import

 newforms as

 forms
Django1.0 改成:


from

 django import

 forms

======================================
models.py



class

 MyModel

(models.Model):
    myphoto = models.ImageField(upload_to="img/uploads

")

以前:


myinstance = MyModel.objects.all()[0]
photo_url = myinstance.get_myphoto_url()

Django1.0改成:


myinstance = MyModel.objects.all()[0]
photo_url = myinstance.myphoto.url

======================================
Forms:
class

 MyUploadForm

(forms.Form):
    target_file = forms.FileField(widget=forms.FileInput)

以前:


form = MyUploadForm(request.POST, request.FILES)
if

 form.is_valid():
    target_file = form.cleaned_data['target_file

']
    f = open(target_file.filename, 'wb

')
    f.write(target_file.content)
Django1.0改成:


form = MyUploadForm(request.POST, request.FILES)
if

 form.is_valid():
    target_file = form.cleaned_data['target_file

']
    f = open(target_file.name, 'wb

')
    for

 chunk in

 target_file.chunks():
        f.write(chunk)
    f.close()


======================================
Signal
以前:


from

 django.db.models.signals import

 pre_save
from

 django.dispatch import

 dispatcher

def

 update

(signal, sender, instance, **kwds):
    instance.pub_date = datetime.datetime.now()
dispatcher.connect(update, pre_save, MyEntry)

Django1.0改成:


from

 django.db.models.signals import

 pre_save

def

 update

(signal, sender, instance, **kwds):
    instance.pub_date = datetime.datetime.now()
pre_save.connect(receiver=update, sender=MyEntry)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics