django起航-你的第一个django工程

实际操作

django安装成功后,我们就可以看到目录结构,这些结构以后介绍。其中有一个django-admin.py文件,利用他就可以创建django工程了

django起航-你的第一个django工程_第1张图片
admin位置

在你工作的目录下执行

$ 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就会去调用,blogapp下的views

然后我们创建blog app。

在目录下

/Users/gougou/Desktop/djangoweb/website


$ django-admin.py startapp blog
django起航-你的第一个django工程_第2张图片
blogapp

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起航-你的第一个django工程_第3张图片
xiaoguo

总结

  • 创建工程 django-admin.py startproject 工程名
  • 修改工程中的配置setting文件 记得一定添加installed_app
  • 配置工程下 urls.py的映射,这个文件管理所有的app映射
  • 创建app django-admin.py startapp blog
  • 实现views中映射的函数,返回一个http响应
  • 运行服务器./manage.py runserver

执行过程

django起航-你的第一个django工程_第4张图片
图解过程

思考,返回一个hello,word这么麻烦,为什么我还要有django.别忘了,django中有template.

django的诞生就是为了解决重复的框架,使得数据处理和模板分离开来,下期介绍。Thanks

你可能感兴趣的:(django起航-你的第一个django工程)