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

[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

Django 添加应用的更多相关文章

  1. django 添加comments app

    django 添加comments app 参看 django comments 文档 安装和配置comments 1.安装comments,运行:pip install django-contrib ...

  2. django 添加动态表格的方法

    传统方法(基于方法的视图):http://stellarchariot.com/blog/2011/02/dynamically-add-form-to-formset-using-javascrip ...

  3. Django添加Last-Modified和ETag

    用Django REST Framework做的REST API,其中有个API有这样的需求: APP端请求这个API,服务器端从数据库读数据,返回json.返回的数据量稍微有些大,但是可能一年才修改 ...

  4. django添加静态文件

    最近做了一个todolist webapp,需要稍微添加css时候又忘记django的添加方法了,查看了以前的项目才想起来,所以记录一下. 1.settings.py 将以下代码放到最下面 STATI ...

  5. Django添加ckeditor富文本编辑器

    源码 https://github.com/django-ckeditor/django-ckeditor 通过pip安装. pip3 install django-ckeditor pip3 ins ...

  6. django添加装饰器

    引入模块: from django.utils.decorators import method_decorator 添加:@method_decorator(func) from django.ut ...

  7. Django添加tinyMCE编辑器

    tinymce的使用方法很简单,只需要在html页面中包含如下: <!-- Place inside the <head> of your HTML --> <scrip ...

  8. Python - Django - 添加首页尾页上一页下一页

    添加首页和尾页: views.py: from django.shortcuts import render from app01 import models def book_list(reques ...

  9. Python - Django - 添加作者

    在 book_list.html 的页面下方加上 “添加作者” 的链接 <!DOCTYPE html> <html lang="en"> <head& ...

随机推荐

  1. r table

    一.table 函数对应的就是统计学中的列联表,是一种记录频数的方法,对于统计来说有非常重要的应用,下面的例子都是针对维数为2的情况举例,多维的情况是类似的 下面看一个例子: > ct < ...

  2. R语言进行数据预处理

    R语言进行数据预处理wranging li_volleyball 2016年3月22日 data wrangling with Rpackages:tidyr dplyr Ground rules l ...

  3. 使用 js替换网页中的关键词为链接

    要求把一段html脚本中的疾病名添加到疾病库的链接,只添加一次,要避开超链接或图片链接. 最初是用的    str.replace('糖尿病', '<a href=...>糖尿病</ ...

  4. SSH-CLIENT : gSTM

    Linux环境下可以使用终端命令行直接登录SSH帐号.但是对Linux新手,可能不太习惯用命令行,于是我就琢磨找一款Linux环境下可以图形化管理ssh帐号的客户端软件,还真让我找着了. gSTM,是 ...

  5. MD5骨骼动画模型加载(一)

    前面我们分析了静态模型OBJ格式,桢动画模型MD2,这篇主要分析骨骼动画MD5的一些概念并且实现. 混合桢动画有计算简单,容易实现等优点,但是在需要比较细致的效果时,则需要更多的关键桢,每桢都添加相同 ...

  6. mysql insert exists || mysql 判断数据是否存在

    情景如下: "今日前端忽然说句, 我需要做个判断, 不能重复收藏, 我犹如颈有寒冰不寒而栗, 于是思考我该怎么做?为什么她都思考到了我没有思考到这是我的工作啊" 思考后得到三种解决 ...

  7. 杂乱所得之RPC【待整理】

    在计算机的世界里,不仅有程序内部的通信,还需要程序之间的通信,这又包含两大类:同一台主机的程序之间的通信.不同主机的程序之间的通信. 同一台主机的程序之间的通信就是IPC,IPC(Inter-proc ...

  8. 性能优化系列二:JVM概念及配置

    一.虚拟机组成 虚拟机主要由三部分组成:编译器(执行引擎),堆与栈. 1. 编译器 编译器分为即时编译器与解释器. 即时编译器将代码编译成本地代码存于code区.因此它快,但它有内存限制! 解释器逐行 ...

  9. 使用Maven构建项目

    要构建一个基于Maven的项目,打开控制台,进入到 pom.xml 文件所放的项目文件夹,并发出以下命令: mvn package 这将执行Maven的“package”阶段. Maven构建生命周期 ...

  10. 命令查询职责分离模式(Command Query Responsibility Segregation,CQRS)

    浅谈命令查询职责分离(CQRS)模式 CQRS架构简介 对CQRS的一次批判性思考