实际操作
django安装成功后,我们就可以看到目录结构,这些结构以后介绍。其中有一个django-admin.py文件,利用他就可以创建django工程了
在你工作的目录下执行
$ django-admin.py startproject website
发现你的目录下多了一些目录和文件,工程名是website 当然也可以你自己指定。看到website中有init.py文件,所以website就是一个包。settings是一个配置文件可以配置数据库,时区,语言等信息。
TIME_ZONE='Asia/Shanghai'
Language_code ='zh-cn'
INSTALL_APPS中配置我们想要创建的application,就是网站。工程和工程下的app,就这个关系。
添加blog网站,但是这里并没有创建这个app.
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
#添加一个app网站,记得是元组,不能少
'blog',
}
有了app之后我们还需要一个映射,打开website下的urls.py文件。
映射就是你在浏览器输入的网址,一会调用什么函数,这里你可以先不用想太多。
直接配置urls.py
urlpatterns = patterns('',
url(r'^blog/index/$','blog.views.index'),
}
如果我在浏览器中输入blog/index就会去调用,blog
app下的views
然后我们创建blog app。
在目录下
/Users/gougou/Desktop/djangoweb/website
$ django-admin.py startapp blog
website工程中就有了blog app,一会浏览器中输入,就会调用blog.views.index ,即调用views文件中的index。
打开views.py,可能你会瞬间懵逼了,什么都没有。对!需要自己写,写入
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello,world')
现在就有了视图函数index,接收到调用,就会返回一个http响应。响应中,包含了,网页的内容。
万事具备,只待请求。且慢!服务器还没开,不用自己写了。
在website工程下,执行
$ ./manage.py runserver
Validating models...
0 errors found
September 18, 2016 - 09:19:50
Django version 1.5.11, using settings 'website.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
记得一定加上./
不然找不到command not found。control+c退出,windows是b。
浏览器中输入
http://127.0.0.1:8000/
返回Page not find 就成功了,如果你要问hello,world去哪里了?我想说你记得是访问blog/index才返回吧。
而终端上我们可以看到这次的请求
[18/Sep/2016 09:21:00] "GET / HTTP/1.1" 404 1901
这个当初我们自己写的apache服务器是一致的,一会我会详细说明这个过程。
然后访问
总结
- 创建工程
django-admin.py startproject 工程名
- 修改工程中的配置setting文件 记得一定添加installed_app
- 配置工程下 urls.py的映射,这个文件管理所有的app映射
- 创建app
django-admin.py startapp blog
- 实现views中映射的函数,返回一个http响应
- 运行服务器
./manage.py runserver
执行过程
思考,返回一个hello,word这么麻烦,为什么我还要有django.别忘了,django中有template.
django的诞生就是为了解决重复的框架,使得数据处理和模板分离开来,下期介绍。Thanks