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

Django 添加应用的更多相关文章
- django 添加comments app
django 添加comments app 参看 django comments 文档 安装和配置comments 1.安装comments,运行:pip install django-contrib ...
- django 添加动态表格的方法
传统方法(基于方法的视图):http://stellarchariot.com/blog/2011/02/dynamically-add-form-to-formset-using-javascrip ...
- Django添加Last-Modified和ETag
用Django REST Framework做的REST API,其中有个API有这样的需求: APP端请求这个API,服务器端从数据库读数据,返回json.返回的数据量稍微有些大,但是可能一年才修改 ...
- django添加静态文件
最近做了一个todolist webapp,需要稍微添加css时候又忘记django的添加方法了,查看了以前的项目才想起来,所以记录一下. 1.settings.py 将以下代码放到最下面 STATI ...
- Django添加ckeditor富文本编辑器
源码 https://github.com/django-ckeditor/django-ckeditor 通过pip安装. pip3 install django-ckeditor pip3 ins ...
- django添加装饰器
引入模块: from django.utils.decorators import method_decorator 添加:@method_decorator(func) from django.ut ...
- Django添加tinyMCE编辑器
tinymce的使用方法很简单,只需要在html页面中包含如下: <!-- Place inside the <head> of your HTML --> <scrip ...
- Python - Django - 添加首页尾页上一页下一页
添加首页和尾页: views.py: from django.shortcuts import render from app01 import models def book_list(reques ...
- Python - Django - 添加作者
在 book_list.html 的页面下方加上 “添加作者” 的链接 <!DOCTYPE html> <html lang="en"> <head& ...
随机推荐
- QTcpSocket 发送和接收数据的几种方法
1.QTcpSocket 继承于QAbstractSocket继承于QIODevice 2.QTcpSocket 提供的几种接收和发送数据方法 write ( const char *, qint64 ...
- java_review_point
Math.atan2() 这个函数很常用,可以实现利用点的坐标x,y来计算点的弧度值. 本质来说,是一个反tan函数. this 指类的对象,区别于局部的变量. static方法可以在类里面任意调用, ...
- Ubuntu 安装软件方法
Ubuntu软件安装有几种方式,常用的是deb包的安装方式,deb是debian系列的Linux包管理方式,Ubuntu软件安装属于debian的派生,也默认支持这种软件安装方式,当下载到一个deb格 ...
- Global Pose Estimation with an Attention-based Recurrent Network
related work包含比较多,对SLAM和最近神经网络对于定位的工作介绍比较多.
- WCF Service 配置文件注释(转)
VS 2008 SP1(不确定是否不打SP1是否有)自带的一个编辑工具,可以更快的帮助定制配置文件, 以前看到过没有注意, 昨天正好一个同事提起, 这里记录一笔:打开VS 2008->Tools ...
- 目标检测之rcnn---开启检测新高度优于dpm
http://www.cnblogs.com/louyihang-loves-baiyan/p/4839869.html http://www.cnblogs.com/louyihang-loves- ...
- (实用)Ubuntu Linux静态IP网络配置
记录备忘. 基于Ubuntu 14.04 LTS Server. 首先查看一下当前系统的网卡: $ sudo iconfig 比如这里我除了回环网路lo外,网络接口名为em1,下面就去给它配置网络. ...
- ViewBag和ViewDate以及TempDate的区别
简单的说,就是 ViewBag 和 ViewData 是数据共享的(他们都是共享 ViewData 的数据),ViewBag 实际就是对 ViewData的一个操作的封装. 区别 : View ...
- Riak
出处:http://www.oschina.net/p/riak Riak是以 Erlang 编写的一个高度可扩展的分布式数据存储,Riak的实现是基于Amazon的Dynamo论文,Riak的设计目 ...
- 常用的js 总结
1.点击一个按钮,跳转到新页面 $("#btnCancel").click(function(){ location.href="${ctx}/engine/formul ...