一、创建项目:
django-admin startproject mysite
二、到该目录下,创建app:
python manage.py startapp learn #learn 是一个app的名称
并将app添加到mysite/mysite/settings.py 中:
INSTALLED_APPS =(
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'learn',
)
三、定义处理请求的函数:
在文件views.py中定义:
#coding:utf-8
from django.http importHttpResponsedefindex(request):return HttpResponse(u"欢迎光临 Mysite项目")
注意编码.
四、关联函数和请求:
在mysite/mysite/urls.py 中修改:
from django.conf.urls importinclude, urlfrom django.contrib importadmin
urlpatterns=[
url(r'^$','learn.views.index',name='home'),
url(r'^admin/', include(admin.site.urls)), #这一行系统默认
]
注意:url中是用正则表达式匹配URL的。name的值为处理URL的函数名,string说明了函数的路径.
五、获取请求中的参数:(url='http://localhost:8000/?a=123&b=bat')
from django.shortcuts importrenderfrom django.http importHttpResponsedefadd(request): #此为处理请求的函数
a= request.GET['a']
b= request.GET['b']
c= int(a)+int(b)return HttpResponse(str(c))
六、URL中正则的灵活运用:
eg:网站采用 http://host:80/calc/3/4/这样的方式
更改处理函数:views.py
defadd2(request,a,b):
c= int(a) +int(b)return HttpResponse(str(c))
更改正则表达式:urls.py
url(r'^calc/(\d+)/(\d+)/$', 'calc.views.add2', name='add2'),
七、前端页面模版应用:
在app的目录下创建templates文件夹,在该文件夹下创建模版文件:home.html (Django项目默认会寻找该目录下的模版文件)
[cos@localhost templates]$ ls
ad.html base.html bottom.html home.html nav.html tongji.html # 这些模版是项目引用的.
[cos@localhost templates]$ cat home.html
{% extends 'base.html' %}
{% block title %}welcome home html{% endblock %} #覆盖默认内容,否则就显示继承自base.html中的默认内容.
{% block content %}
{% include 'ad.html' %} #引用ad.html模版.
thisisindex page,welcome!
{% endblock %}
更改处理请求的函数,向客户端返回该模版文件:(当然内容是经过渲染的)
在app/views.py中
from django.shortcuts importrenderdefhome(request):return render(request, 'home.html')
八、启动项目:
[cos@localhost mysite]$ python manage.py runserver 0.0.0.0:8000Performing system checks...
System check identified no issues (0silenced).
October20, 2015 - 14:31:54Django version1.8.5, using settings 'zqxt_tmpl.settings'
Starting development server at http://0.0.0.0:8000/Quit the server with CONTROL-C.
[20/Oct/2015 14:31:54] "GET / HTTP/1.1" 500 126680[20/Oct/2015 14:32:07] "GET / HTTP/1.1" 500 129469[20/Oct/2015 14:33:37] "GET / HTTP/1.1" 200 280