1 创建django工程

打开命令行,cd 到一个你想放置你代码的目录,然后运行以下命令:

django-admin startproject mysite

2 开始一个app

接下来我们创建app目录(用于写整个web站点的某种功能),命令如下:

python manage.py startapp appmy

(1) 编写视图

在appmy/views.py 中写如下函数:

(2)在mysite/urls.py中声明一个路由

需要做两点:导入视图,注册路由。 然后我们重启服务,访问http://127.0.0.1:8000/index/看看:

重启服务:

访问http://127.0.0.1:8000/index/:

这样我们就完成了第一个视图页面。

mysite/urls.py中:

重启之后访问:http://127.0.0.1:8000/home,如下:

注意:视图函数中的request是django对http请求的封装,其中request.method封装了请求动作,包括GET,PUT,POST等。

(2)class based view (CBV)

用类代替视图函数的方法就叫做CBV,写法如下:

app01/views.py中:

mysite/urls.py中:

重启服务之后,访问:http://127.0.0.1:8000/myhome, 如下:

有时可以在类中通过继承父类的despatch方法,然后做一些自定义操作。如下:

  • View Code

想知道CBV的更多原理,可以去看下源码。

重启之后,访问http://127.0.0.1:8000/index,如下:

(2)在项目根目录mysite下新建templates文件夹

(3)然后,在django的配置文件mysite/settings.py中找到TEMPLATES这个变量,是一个大列表,在列表中的DIRS后面,配上'templates',即可;即'DIRS': ['templates', ],如下:

(4)接下来可以在templates文件夹下创建一个HTML文件,如index.html

index.html文件内容:

(5)在app01/views.py中修改一下视图函数index()

(6)重启后,访问http://127.0.0.1:8000/index

回到顶部

7 使用模板语言

(1)views.py 的index中可以传变量,如下

(2)传参数之后可以在模板index.html中使用这些参数

重启之后,访问http://127.0.0.1:8000/index,如下:

总结一下模板语言格式:

8 自定义simple_tag(这个没有成功)

(1)在app01目录下创建templatetags目录

(2)在templatetags目录下新建任意py文件, 如tag1.py

并且在tag1.py中这样写:

如果不注册的话,django无法找到自定义的simple_tag。

为方便我们新创建了一个simple.html以及视图函数simple, 并新注册了路由:

simple.html:

views:

1

2

defsimple(request):

returnrender(request, "simple.html")

urls:

1

url(r'^simple', views.simple),

重启服务,访问http://127.0.0.1:8000/simple,如下:

results matching ""

    No results matching ""