第一课:视图显示

1   建立一个项目:django-admin startproject blog,

进入blog: cd blog

显示:blog(__init__.py settings.py urls.py ) manage.py

2,在当前目录,建立一个应用:django-admin startapp appblog

显示:appblog(__init__.py modules.py views.py tests.py) blog manage.py

3   配置应用vim blog/settings.py下的INSTALLED_APPS (‘appblog',)

编写响应vim blog/urls.py

url(r'^blog/index/$','blog.views.index'),

编写视图vim appblog/views.py:编写def文件,

from django.http import HttpResponse

def index(req):

return HttpResponse('<h1>hello world to Django!</h1>')

4启动项目:python manage.py runserver

第二课:模板映射

1 首先看结构图

1 首先建立外框,即项目:django-admin startproject mysite

然后建立中间框,即应用和模板

django-admin startapp myapp

mkdir templates

2 编写最内框,即各文件

vi templates/index.html

 <html>
<body>
<meta http-equiv="Content-Type" content="text/html" />
<title>mytile my index</title>
</head>
<body>
<h1>mybody my index</h1>
</body>
</html>
~

vi mysite/urls.py

 from django.conf.urls import patterns, include, url

 # Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover() urlpatterns = patterns('',
# Examples:
# url(r'^$', 'mytest.views.home', name='home'),
# url(r'^mytest/', include('mytest.foo.urls')), # Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin:
# url(r'^admin/', include(admin.site.urls)),
url(r'^myapp/',include('myapp.urls')),
)
~

vi myapp/urls.py

 from django.conf.urls import *

 urlpatterns = patterns('',
url('^index/$','myapp.views.index'),
)
~
~
~

vi myapp/views.py

 # Create your views here.
from django.shortcuts import render_to_response def index(req):
return render_to_response('index.html') ~
~

vi myapp/settings.py

 TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
#######################################
'/home/django/mytest/templates',
) INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
# 'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
###############################
'myapp',
)

3 启动服务器并在浏览器测试
 python manage.py runserver

http://127.0.0.1:8000/myapp/index

4 解析运行原理:

当网页上要请求时,首先进入mysite/urls.py中,执行:

url(r'^myapp/',include('myapp.urls')),

再次调用myapp/urls.py中的文件,执行:

url('^index/$','myapp.views.index'),

接着进入myapp/views视图中的index函数,执行:

def index(req):
     return render_to_response('index.html')
这样就返回模板中的index.html文件,即执行templates/index.html

重要的地方:指向 include() 的正则表达式并不包含一个 $ (字符串结尾匹配符),但是包含了一个斜杆。每当 Django 遇到 include() 时,它将截断匹配的URL,并把【剩余】的字符串发往被包含的 URLconf 进一步处理。

django URL常用配置方法

Django开发网站(二)的更多相关文章

  1. Django开发笔记二

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.xadmin添加主题.修改标题页脚和收起左侧菜单 # ...

  2. Django开发网站(四)

    模型: 配置数据库 首先保证数据库已经安装,默认在Ubuntu下已经安装了sqlite3数据库,然后在项目名下的配置文件settings.py修改如下代码: 安装sqlite3 DATABASES = ...

  3. django开发网站 让局域网中的电脑访问你的主机

    1. 关闭主机电脑上的防火墙(不用关闭,加一个端口号就行) 2.在你的settings.py文件中,找到ALLOWED_HOSTS=[ ],在中括号中加入你在局域网中的IP.如我在局域网中的IP为19 ...

  4. Django开发笔记六

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.登录功能完善 登录成功应该是重定向到首页,而不是转发 ...

  5. Django开发笔记五

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.页面继承 定义base.html: <!DOC ...

  6. Django开发笔记四

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.邮箱激活 users app下,models.py: ...

  7. Django开发笔记三

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.基于类的方式重写登录:views.py: from ...

  8. Django开发笔记一

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.运行 python manage.py runser ...

  9. MVC5 网站开发之二 创建项目

    昨天对项目的思路大致理了一下,今天先把解决方案建立起来.整个解决包含Ninesky.Web.Ninesky.Core,Ninesky.DataLibrary等3个项目.Ninesky.Web是web应 ...

随机推荐

  1. ArcGis :正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。

    解决此异常的方法有以下两种: 方法一 把vs2005菜单的 调试->异常->Managed Debuggin Assistants->LoaderLock 的选中状态去掉  如果异常 ...

  2. Linux 2.6的内核编译过程

    由于上课需要,老师指定使用linux-2.6.26内核.本人是菜鸟级别的. 由于本人安装的ubuntu系统中,没有自带GCC,故需要自己安装gcc, 首先启用ROOT权限  输入:sudo -i 获取 ...

  3. linux-进程相关

    ps查看当前运行的进程 ps -ef|grep httpd ps是静态的 ps -aux|grep httpd top 是动态的 kill 杀进程  kill -[选项] 进程号 -9强制杀死 kil ...

  4. linux下获取ip

    如果打开虚拟机 没有ip置灰显示了 lo 可以使用dhclient自动获取ip 如果想开机就自动获取ip: vim /etc/rc.d/rc.local 在这里插入dhclient命令

  5. 【约瑟夫环变形】UVa 1394 - And Then There Was One

    首先看到这题脑子里立刻跳出链表..后来继续看如家的分析说,链表法时间复杂度为O(n*k),肯定会TLE,自己才意识到果然自个儿又头脑简单了 T^T. 看如家的分析没怎么看懂,后来发现这篇自己理解起来更 ...

  6. poj 2449 第k短路径

    思路: 利用一个估计函数g[i]=dis[i]+len.其中len为队列出来的点当前已经走了的距离.dis[i]为该点到终点的最短路径.这样我们只要将点按g[i]的升序在队列你排序,每次取出最小的g[ ...

  7. Leetcode 190. Reverse Bits(反转比特数)

    Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented in ...

  8. hihocoder 1066 无间道之并查集

    #1066 : 无间道之并查集 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 这天天气晴朗.阳光明媚.鸟语花香,空气中弥漫着春天的气息……额,说远了,总之,小Hi和小H ...

  9. ENVI/IDL与ArcGIS集成开发的三种途径

    转载:本文来自ENVI5.0-IDL8.2系列产品白皮书_201303.PDF(Esri中国官网可下载)中P7-P10 ENVI 是一个非常开放的平台,提供一个健全的函数库,几乎涵盖ENVI 平台大部 ...

  10. org.json 使用

    org.json 和 json-lib 使用上差不多. //JSONObject public static void main(String[] args) { String jsonObjectS ...