python setup.py install -->> 安装django
django-admin.py startproject 项目名 -->> 创建一个web项目
vim settings.py -->> TIME_ZONE = 'Asia/Shanghai':修改时区为上海
LANGUAGE_CODE = 'zh-cn':自改语言码为中文
INSTALLED_APPS 添加对应的app
①:vim urls.py -->> url(r'^blog/index/$','blog.views.index') 当访问匹配'^blog/index/$'正则的时候调用blog目录下views.py模块下的index方法。下面写法效果等同。
②:vim urls.py -->> from blog.views improt index||url(r'^blog/index/$',index)
③:vim urls.py -->> urlpatterns = patterns('blog.views',
url(r'^blog/index/$','index'),
)
django-admin.py startapp app应用名 -->> 创建一个app应用
blog/views.py -->> 将内容直接响应到页面
from django.http import HttpResponse
def index(req):
return HttpResponse('<h1>hello welcome to Django!!</h1>')
python manage.py runserver -->> 开启django管理服务器
①:vim urls.py -->> 将数据转渲染到template/index.html来输出
from django.template import loader,Context
def index(req):
t = loader.get_template('index.html')
c = Context({})
return HttpResponse(t.render(c))
②:vim urls.py -->> 将数据转渲染到template/index.html来输出
from django.template import Template
def index(req):
t = Template('<h1>hello {{uname}}')
c = Context({'uname':'wlw'})
return HttpResponse(t.render(c))
③:vim urls.py -->> 将数据转渲染到template/index.html来输出
def index(req,id):
user={'name':'wulewei','age':23,'sex':'male'}
book_list=['python','java','php','web']
user=Person('kgdbfmwfn',23,'male')
return render_to_response('index.html',{'title':'wulwdjango','book_list':book_list,'user':user,'id':id})
blog/template/index.html -->> 模板文件
Django模板变量:user={{user.name}},study={{book_list.0}}
Django模板标签:
{% if user %}
<li> name:{{user.name}} </li>
{% else %}
user no found
{% endif %}
{% for k,v in user.items %}
<li>{{forloop.counter}} {{k}}:{{v}} </li> #{{forloop.counter}}
{% empty %} #在前面添加序列号1,2,3
<li>Sorry,user.items is empty</li>
{% endfor %}
Django中使用mysql数据库
首先安装mysql,然后安装MySQL-python包。在Django中使用数据库是依赖于应用(INSTALLED_APPS 添加对应的app)当中的models模块。
vim settings.py -->> 添加数据库配置信息
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql(oracle)', # Add 'mysql', 'oracle'.
'NAME': 'wlw', # Or path to database file if using sqlite3.
'USER': 'root', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
vim blog/models.py -->> 创建名为employee的表
from django.db import models
class Employee(models.Model):
name = models.CharField(max_length=20)
def __unicode__(self): #当我们把对象Employee以字符串的方式进行反馈的时候,把我们
return self.name #对应的name表现出来
数据库同步:python manage.py syncdb。执行此命令的时候会去检测对应的应用,在应用下边是否有对应的models,如果有models,如果有,就安装里面的信息对表进行创建。
为数据表添加数据的方法:
①:python manage.py shell 进入项目交互界面
>>> from blog.models import Employee
>>> emp=Employee()
>>> emp.name='wulewei'
>>> emp.save()
②:python manage.py shell 进入项目交互界面
>>> emp=Employee(name='wulw')
>>> emp.save()
③:python manage.py shell 进入项目交互界面
>>> Employee.objects.create(name='wlw')
查询数据表的数据:
>>> from blog.models import Employee
>>> emps=Employee.objects.all() #当在models中添加__unicode__方法的时候可以显示名字