3.视图和url配置

页面的内容是靠view function 视图函数来产生,URL定义在 URLconf 中。
插曲看文件搜索路径

import sys
print sys.path
['C:\\Program Files\\JetBrains\\PyCharm Community Edition 2017.1.4\\helpers\\pydev',
'C:\\Program Files\\JetBrains\\PyCharm Community Edition 2017.1.4\\helpers\\pydev',
'C:\\WINDOWS\\SYSTEM32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win',
'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages',
'C:\\Users\\chinalife-pc\\PycharmProjects\\mysite', 'C:/Users/chinalife-pc/PycharmProjects/mysite']
1.mysite文件夹中,创建一个叫做views.py

from django.http import HttpResponse

def hello(request):

return HttpResponse("Hello NBMIS")

2.修改urls.py
由于diango升级了,所以和原书有些出入。 当然小差异不影响大思想,所以还是坚定地看完演练完。
https://stackoverflow.com/questions/38786461/django-error-your-url-pattern-is-invalid-ensure-that-urlpatterns-is-a-list-of
from django.conf.urls import url
from django.contrib import admin

from mysite.views import hello

urlpatterns = [ url(r'^admin/', admin.site.urls),
url(r'^hello/$', hello),
]
万岁! 你已经创建了第一个Django的web页面。
 
 

 我们再处理个网站根目录,在不同文件中分别定义下述内容(文件名不复述了,同上)

from mysite.views import hello,homeview

urlpatterns = [ url(r'^admin/', admin.site.urls),
url(r'^hello/$', hello),
url(r'^$', homeview),
]
===================================

def homeview(request):

return HttpResponse("rabbit home")

 我们来个动态的吧,显示当前时间,我们在view.py中修改

import datetime

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

from mysite.views import hello,homeview,current_datetime

urlpatterns = [ url(r'^admin/', admin.site.urls),
url(r'^hello/$', hello),
url(r'^$', homeview),
url(r'^time/$', current_datetime),
]

让我们创建第三个视图来显示当前时间和加上时间偏差量的时间,实质是演示一种查询字符串的使用方法。

设计是这样的: /time/plus/1/ 显示当前时间+1个小时的页面 /time/plus/2/ 显示当前时间+2个小时的页面

from django.http import Http404, HttpResponse
import datetime
def hours_ahead(request, offset):
try:
offset = int(offset)
except ValueError:
raise Http404()
dt = datetime.datetime.now() + datetime.timedelta(hours=offset)
html = "<html><body>In %s hour(s), it will be %s.</body></html>" % (offset, dt)
return HttpResponse(html)


urlpatterns = [ url(r'^admin/', admin.site.urls),
url(r'^hello/$', hello),
url(r'^$', homeview),
url(r'^time/$', current_datetime),
url(r'^time/plus/(\d{1,2})/$', hours_ahead),
]

 

 最后,指出一个调试模式输出网页配置(默认)

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

 

 
 

 

 
 



 

转载于:https://www.cnblogs.com/alanminmin/p/7077030.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值