您的位置:首页 > 编程语言 > Go语言

BAE博客开发之基础知识积累----Django篇(1)

2013-03-18 21:13 363 查看
1. Django如何新建一个网站

python django-admin.py startproject mysite


在mysite文件夹下会生成如下文件:

mysite/
manage.py
mysite/
settings.py
urls.py
__init__.py
wsgi.py


启动网站

python manage.py runserver

python manage.py runserver 8080 #修改端口号,默认的是8000

python manage.py runserver 0.0.0.0:8000 #告诉服务器去监听任意端口


2. Django是怎么工作的

1. 进来的请求转入/hello/;

2. Django通过settings.py中ROOT_URLCONF配置来获得URLconf;

3. Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目;

4. 如果找到,调用相应的视图

5. 视图函数会返回一个HttpResponse对象

6. Django转换HttpResponse为一个适合的HTTP response, 以Web page显示出来

3. Django的View

添加网页,需要修改两个文件。一是urls.py,二是views.py。urls.py将url和view中的函数对应。views定义函数,返回httpresponse对象。

动态URL。比如./time/plus/3/、./time/plus/4/、./time/plus/5/ ...这种,需要再urls.py中添加正则表达式来匹配这种URL,前面的URL可以用如下正则表达式表达

(r'^time/plus/(\d{1,2})/$', hours_ahead)


在views.py中添加hours_ahead(httprequest, offset)。注意这里offset会从匹配的URL里提取出来的。并且要转换为str。

4. 贴出代码:

views.py

View Code

# _*_ coding:utf-8 _*_
from django.conf.urls import patterns, include, url
from mysite.views import *

# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns('',
('^hello/$', hello),
('^time/$', date),
('^time/plus/(\d{1,2})/$', hours_ahead), #/time/plus/3/这种URL
# Examples:
# url(r'^$', 'mysite.views.home', name='home'),
# url(r'^mysite/', include('mysite.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)),
)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: