Django 添加应用

一个项目可以添加多个应用,可以使用以下两种方法来添加应用:

[root@localhost web]$ python manage.py startapp blog
[root@localhost web]$ django-admin.py startapp blog
[root@localhost web]$ ll blog
-rw-r--r--. 1 root root 63 Jan 26 08:47 admin.py       # 应用的后台管理站点配置
-rw-r--r--. 1 root root  0 Jan 26 08:47 __init__.py    # 表明这是一个包
-rw-r--r--. 1 root root 57 Jan 26 08:47 models.py      # 模型,负责业务对象与数据库的映射
-rw-r--r--. 1 root root 60 Jan 26 08:47 tests.py       # 用于开发测试,编写单元测试
-rw-r--r--. 1 root root 63 Jan 26 08:47 views.py       # 视图,负责与用户的交互,定义url


在项目的配置文件中添加该应用:

[root@localhost web]$ vim web/settings.py
INSTALLED_APPS = (
    ......
    'blog',
)


在项目的视图文件中添加应用的URL:

[root@localhost web]$ vim web/urls.py

urlpatterns = patterns('',
    ......
    url(r'^blog/$', 'blog.views.index'),    # 表明当我访问 http://192.168.216.128:8000/blog 时,会去访问blog应用目录下的views文件里的index函数
)
[root@localhost web]$ cat blog/views.py    # 在views文件中定义index函数
from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.

def index(request):                                  # request表示用户对页面的请求
    return HttpResponse("<h1> Hello World </h1>")    # HttpResponse()方法用于返回信息给用户请求


启动项目并访问应用:

[root@localhost web]$ python manage.py runserver 0.0.0.0:8000


如下,我们是直接把HTML写在视图文件中,但实际中我们会用一个目录来保存这些HTML文件

[root@localhost web]$ cat blog/views.py
from django.shortcuts import render
from django.http import HttpResponse

def index(request): 
    return HttpResponse("<h1> Hello World </h1>")


首先创建一个模板目录,使用该目录来存放HTML文件,目录名固定是 templates:

[root@localhost web]$ mkdir blog/templates
[root@localhost web]$ cat blog/templates/index.html 
<html>

<head>
<title>我的第一个HTML页面</title>
</head>

<body>
<h1> Hello World ! </h1>
<h1> Hello Django ! </h1>
</body>

</html>


改写视图文件:

[root@localhost web]$ cat blog/views.py
from django.shortcuts import render
from django.http import HttpResponse
from django.template import loader, Context    # loader()方法用来导入模板的HTML文件
                                               # Context()方法用来解析模板的HTML文件
def index(request):
    t = loader.get_template('index.html')    # 加载HTML文件,创建一个模板对象
    c = Context({})                          # 解析上下文,因为HTML文件中没有定义变量,所以不需要解析
    return HttpResponse(t.render(c))         # 最后返回渲染的模板


启动项目并访问应用:

[root@localhost web]$ python manage.py runserver 0.0.0.0:8000

 

 

 

 

 

 

 

 

 

      

posted @ 2019-01-28 06:14  孔雀东南飞  阅读(880)  评论(0编辑  收藏  举报