Django是一个不错的基于Python的Web框架,但它的很多东西不太方便分离出来,用到别的地方,或者使用别的相应的模块替换,这是Django的缺点之一。但我们不可能每次要使用Django中的哪怕一个小小的功能模块也要创建一个完整的Django工程吧?其实,很多功能或模块,在不脱离Django的情况下,还是可以在一定程序上单独使用的。(注意:我们这里说的是单独使用,不是说分离或剥离使用,我们不对Django源码作任何改动)
1、单独使用邮件模块
#!/usr/bin/python
#-*- coding: utf-8 -*-
from django.conf import settings
settings.configure(
EMAIL_HOST = 'smtp.somesite.com',
EMAIL_PORT = '25',
EMAIL_HOST_USER = 'someone@somesite.com',
EMAIL_HOST_PASSWORD = '123456'
)
from django.core.mail import send_mail
send_mail('Subject', 'Message', 'someone@somesite.com', ['another@anothersite.com'],
fail_silently = False)
2、单独使用ORM
#!/usr/bin/python
#-*- coding: utf-8 -*-
from django.conf import settings
settings.configure(
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': '/tmp/mydb.db3',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
)
from django.db import models
class MyModel(models.Model):
name = models.CharField(max_length = 50)
gender = models.BooleanField(default = False)
age = models.IntegerField(default = 0)
def __unicode__(self):
return self.name
myModel = MyModel()
myModel.name = 'Jim Green'
myModel.gender = True
myModel.age = 18
myModel.save();
3、单独使用模板
#!/usr/bin/python
#-*- coding: utf-8 -*-
from django.conf import settings
import os.path
settings.configure(
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
),
TEMPLATE_DIRS = (
os.path.dirname(__file__), # 在当前路径搜索模板文件
)
)
from django.template import loader, Context
t = loader.get_template('demo.tpl') # demo.tpl必须与该代码在同一目录,文件内容见下一段代码
context_dict = {
'name' : 'Jim',
'gender' : 'Male',
'age' : '18',
}
c = Context(context_dict)
print t.render(c)
Name: {{ name }}
Gender: {{ gender }}
Age: {{ age }}