现在的位置: 首页 > 综合 > 正文

Django1.0修改后内容

2018年04月30日 ⁄ 综合 ⁄ 共 3118字 ⁄ 字号 评论关闭
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)

抱歉!评论已关闭.