码迷,mamicode.com
首页 > 编程语言 > 详细

python django

时间:2014-10-13 11:12:49      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   使用   ar   for   strong   文件   sp   

---恢复内容开始---

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

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns(‘‘,
    # Examples:
    # url(r‘^$‘, ‘mysite.views.home‘, name=‘home‘),
    # url(r‘^blog/‘, include(‘blog.urls‘)),

    url(r‘^admin/‘, include(admin.site.urls)),
    url(r‘^$‘, ‘mysite.views.first_page‘),
)

 urls是网站URL映射,说明什么URL对应什么模块。 APP就是一个小型的WEB SERVER,

render是将代码与模板对应起来,可以生成一套网页或者是响应。

一个用户请求过来先到了project的urls.py上,然后检查URLS,找到对应app的urls.py,运行urls对应的模块

用render_to_response()简化views层

http://www.nowamagic.net/academy/detail/1318431

 

 

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello NowaMagic")

 

 每个视图函数至少要有一个参数,通常被叫作request。 这是一个触发这个视图、包含当前Web请求信息的对象,是类django.http.HttpRequest 的一个实例。在这个示例中,我们虽然不用 request 做任何事情,然而它仍必须是这个视图的第一个参数。

注意视图函数的名称并不重要;并不一定非得以某种特定的方式命名才能让 Django 识别它。 在这里我们把它命名为:hello,是因为这个名称清晰的显示了视图的用意。同样地,你可以用诸 如:hello_wonderful_beautiful_world,这样难看的短句来给它命名。 在下一小节(Your First URLconf),将告诉你Django是如何找到这个函数的。

这个函数只有简单的一行代码: 它仅仅返回一个HttpResponse对象,这个对象包含了文本“Hello world”。

这里主要讲的是: 一个视图就是Python的一个函数。这个函数第一个参数的类型是HttpRequest;它返回一个HttpResponse实例。为了使一个 Python的函数成为一个Django可识别的视图,它必须满足这两个条件。 (也有例外,但是我们稍后才会接触到。)

 

from django.http import HttpResponse
import datetime

def hello(request):
    return HttpResponse("Hello NowaMagic")

def current_datetime(request):
    now = datetime.datetime.now()
    html = "<html><body>It is now %s.</body></html>" % now
    return HttpResponse(html)

 

 但是如果要import一个不同目录的文件(例如b.py)该怎么做呢?

首先需要使用sys.path.append方法将b.py所在目录加入到搜素目录中。然后进行import即可,例如:

import sys 
sys.path.append(‘c:\xxxx\b.py‘) # 这个例子针对 windows 用户来说的 

 面的代码有时会找不到模块或者包(ImportError: No module named xxxxxx),这是因为:

sys模块是使用c语言编写的,因此字符串支持 ‘\n‘, ‘\r‘, ‘\t‘等来表示特殊字符。所以上面代码最好写成:

sys.path.append(‘c:\\xxx\\b.py‘) 
# 或者
sys.path.append(‘c:/xxxx/b.py‘) 

 这样可以避免因为错误的组成转义字符,而造成无效的搜索目录(sys.path)设置。

在前面了解过 Python 的序列,特别是 list 和 tuple 之后,我们就可以解释一些 Python 里特有的一些编程技巧,额……比如多重赋值

>>> t = 1,2,3
>>> t
(1, 2, 3)
>>> a,b,c = t
>>> a
1
>>> b
2
>>> c
3

 Python xrange与range的区别

xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器。

>>> xrange(5)
xrange(5)
>>> list(xrange(5))
[0, 1, 2, 3, 4]
>>> xrange(1,5)
xrange(1, 5)
>>> list(xrange(1,5))
[1, 2, 3, 4]
>>> xrange(0,6,2)
xrange(0, 6, 2)
>>> list(xrange(0,6,2))
[0, 2, 4]

 由上面的示例可以知道:要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。

for i in range(0, 100): 
    print i 

for i in xrange(0, 100): 
    print i 

 xrange 和 range 这两个基本上都是在循环的时候用。结果一样

python django

标签:style   blog   http   使用   ar   for   strong   文件   sp   

原文地址:http://www.cnblogs.com/dadadada/p/3992652.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!