django中使用应用来分割功能。
比如:做一个游戏网站,包含4块不同的功能:游戏新闻、游戏论坛、Blog系统、在线商城。使得结构清晰了,每一个应用实现不同的功能;便于复用:游戏新闻、游戏论坛、Blog系统中都可以用到在线商城功能。
1.创建应用blog
$ python manage.py startapp blog

2.添加blog应用
在mysite/settings.py中添加INSTALLED_APPS
编辑mysite/settings.py
在INSTALLED_APPS中添加'blog'

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]

blog应用目录结构

blog/
├── admin.py admin相关
├── apps.py
├── __init__.py
├── migrations
│   └── __init__.py
├── models.py 定义数据库中的类
├── tests.py 测试相关
└── views.py 响应客户请求返回html页面
不同的url生成不同的页面,其中每一个页面都是由views.py里面的代码生成的。
初始的views.py

from django.shortcuts import render

# Create your views here.

初始的views.py

在blog/views.py中加入以下语句:

def hello(request):
return HttpResponse('<html>hello world</html>')
from django.shortcuts import render
from django.http import HttpResponse # Create your views here. def hello(request):
return HttpResponse('<html>hello world</html>')

更改后的blog/views.py

除了需要在blog/views.py中添加hello函数用于输出hello world外,还需要在mysite/urls.py中添加url到hello函数的映射。

具体操作就是在urlpatterns中加入一行 url(r'helloworld', 'blog.views.hello') ,如下:

urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'helloworld', 'blog.views.hello')
]
"""mysite URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/1.9/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.conf.urls import url, include
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.contrib import admin urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'helloworld', 'blog.views.hello')
]

更改后的mysite/urls.py

这样,mysite/urls.py中的urlpatterns就将helloworld对应的url映射到blog.views.hello这个函数中,但我们输入python manage.py runserver启动django测试服务器的时候输入url http://127.0.0.1:8080/helloworld 就能看到 "hello world" 的信息了。

除了models.py和数据库相关,django1.8之后出来的migrations文件夹也是和数据库相关的。

Django学习笔记 创建应用的更多相关文章

  1. Django学习笔记(一)——安装,创建项目,配置

    疯狂的暑假学习之 Django学习笔记(一) 教材  书<The Django Book> 视频:csvt Django视频 1.创建项目 django‐admin.py startpro ...

  2. Django 学习笔记之三 数据库输入数据

    假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介 ...

  3. Django学习笔记(五)—— 表单

    疯狂的暑假学习之  Django学习笔记(五)-- 表单 參考:<The Django Book> 第7章 1. HttpRequest对象的信息 request.path         ...

  4. Django学习笔记(三)—— 型号 model

    疯狂暑期学习 Django学习笔记(三)-- 型号 model 參考:<The Django Book> 第5章 1.setting.py 配置 DATABASES = { 'defaul ...

  5. Django 学习笔记(二)

    Django 第一个 Hello World 项目 经过上一篇的安装,我们已经拥有了Django 框架 1.选择项目默认存放的地址 默认地址是C:\Users\Lee,也就是进入cmd控制台的地址,创 ...

  6. Django 学习笔记(七)数据库基本操作(增查改删)

    一.前期准备工作,创建数据库以及数据表,详情点击<Django 学习笔记(六)MySQL配置> 1.创建一个项目 2.创建一个应用 3.更改settings.py 4.更改models.p ...

  7. Django 学习笔记(六)MySQL配置

    环境:Ubuntu16.4 工具:Python3.5 一.安装MySQL数据库 终端命令: sudo apt-get install mysql-server sudo apt-get install ...

  8. Django学习笔记(9)—— 开发用户注册与登录系统

    一,项目题目: 开发用户注册与登录系统 该项目主要练习使用Django开发一个用户注册与登录的系统,通过这个项目然后巩固自己这段时间所学习的Django知识. 二,项目需求: 开发一个简单的用户登录与 ...

  9. Django学习笔记(4)——Django连接数据库

    前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...

随机推荐

  1. cdn下载失败

    通过cdn下载时,资源下载失败,后来发现是360随身wifi 拦截网络网络请求, 资源先通过他们的服务器检查,再发给客户.坑啊! 解决方法,发邮件到opensoft@360.cn提交申诉. 感觉还是用 ...

  2. 【Unity笔记】检测当前的运行平台

    // 判断当前运行平台为Android平台时 if (Application.platform == RuntimePlatform.Android) { if (Input.GetKeyDown(K ...

  3. C语言 · 核桃的数量

    历届试题 核桃的数量   时间限制:1.0s   内存限制:256.0MB        锦囊1 最小公倍数. 锦囊2 答案是a, b, c的最小公倍数.   问题描述 小张是软件项目经理,他带领3个 ...

  4. sizeof数据对齐问题

    #include <iostream> using namespace std; struct A1 { int a; static int b; }; struct A2 { int a ...

  5. 机器学习:K-Means聚类算法

    本文来自同步博客. 前面几篇文章介绍了回归或分类的几个算法,它们的共同点是训练数据包含了输出结果,要求算法能够通过训练数据掌握规律,用于预测新输入数据的输出值.因此,回归算法或分类算法被称之为监督学习 ...

  6. excel导出功能优化

    先说说优化前,怎么做EXCEL导出功能的: 1. 先定义一个VO类,类中的字段按照EXCEL的顺序定义,并且该类只能用于EXCEL导出使用,不能随便修改. 2. 将查询到的结果集循环写入到这个VO类中 ...

  7. 【DataStructure】Linked Data Structures

    Arrayss work well for unordered sequences, and even for ordered squences if they don't change much. ...

  8. java-servlet 新增特性 注释

    package com.gordon.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.ser ...

  9. e676. 把彩色图像转换为灰色

    ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_GRAY); ColorConvertOp op = new ColorConvertOp(c ...

  10. 在系统中使用read函数读取文件内容

    read函数(读取文件) read函数可以读取文件.读取文件指从某一个已打开地文件中,读取一定数量地字符,然后将这些读取的字符放入某一个预存的缓冲区内,供以后使用. 使用格式如下: number = ...