在开始之前,首先需要安装pycharm+django;首先,安装python,这里使用的版本是Anaconda2,注意环境变量。然后安装pycharm框架,最后,安装django(可利用pip insatll django)。这样框架就搭好了。下面进行具体介绍:
一、新建工程
按照上图,选中“Django”,输入Application name,点击“Create”。即可出现以下项目:
这里,application name名为student。
二、视图函数(即接受web请求,并响应web的python函数)
该响应可以是一份网页的html内容,可以是一个重定向,或其他。具体代码(view.py):
#coding=utf-8
from django.shortcuts import render
from django.http import HttpResponse
import datetime
<span style="white-space:pre"> </span>
# Create your views here
def sayHello(request):#视图函数以httpREQUEST为参数
s = 'Hello World!'
current_time = datetime.datetime.now()
html = '<html><head></head><body><h1> %s </h1><p> %s </p></body></html>' % (s, current_time)
return HttpResponse(html)
每个视图函数都以一个 HttpRequest 对象为第一个参数,该参数通常命名为 request 。
三、URL映射
统一资源定位符(Uniform Resource Locator,缩写为URL)是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。该视图函数返回了包含当前日期和时间的一段 HTML 页面。但是如何告诉 Django 使用这段代码呢?这就是 URLconfs 粉墨登场的地方了。URLconf 就像是 Django 所支撑网站的目录。它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表。你就是以这种方式告诉 Django,对于这个 URL 调用这段代码,对于那个 URL 调用那段代码。
from django.conf.urls import include, url
from django.contrib import admin
from student.views import sayHello,hours_ahead
urlpatterns = [
url(r'^index/$',sayHello),
# url(r'^index/plus/(\d{1,2})/$',hours_ahead),
#url(r'^admin/', admin.site.urls),
#url(r'^index/$','student.views.hello'),
# url(r'^student/', include('student.views.sayHello'))
]
首先,我们从模块中引入了 current_datetime 视图。接着,我们加入了 (r'^index/$',sayHello), 这一行。该行就是所谓的 URLpattern ,它是一个 Python 元组,其第一个元素是简单的正则表达式,第二个元素是为该模式应用的视图函数。简单来说,我们只是告诉 Django,所有指向 URL /time/ 的请求都应由 current_datetime 这个视图函数来处理。
附;动态URL
view.py
def hours_ahead(request,offset):
offset= int(offset)
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)
url映射:将上述第二个模式'#'去掉即可。图示:
地址:http://127.0.0.1:8000/index/plus/2
注:Quit the server with CTRL-BREAK.
Error: [Errno 10013]
端口号占用,关掉某些程序后即可运行。