前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django的执行原理(三)

Django的执行原理(三)

作者头像
无涯WuYa
发布2018-10-25 16:08:53
1.4K0
发布2018-10-25 16:08:53
举报

Django项目的创建中,可以看到启动manage.py后,在浏览器中输入http://127.0.0.1:8000,就可以看到It worked!,那么这个过程是怎么实现的了?在Diango中,它自带了独立的服务器,即框架就是服务,不需要额外的服务器,Django框架中,有一个轻量级,内建的服务器,有了这个服务器,在开发的环境模式下,就不需要额外的apache等web容器了,启动的方式是:manage.py runserver。

这里我们写一个简单的例子,就是在网页中打印出Hello World这句话,首先我们创建app,app是什么了?它是Django项目中的一个独立的应用,创建app的命令为:

代码语言:javascript
复制
python manage.py blog

见创建的截图:

无任何的错误提示,表示创建app成功,在pycharm中可以看到一个blog的app应用,见截图:

下来来实现一个,访问http://127.0.0.1:8000/blog/index/,打印出Hello orld的案例,

拷贝webSite下的urls..py文件,复制到blog的目录下(先不要问为什么),复制成功后,下面按顺序来依次实现

我们想要的效果,写出第一个Django的应用程序。

1、打开blog下的views.py文件,写入如下的代码,见源码:

代码语言:javascript
复制
#!/usr/bin/env python
#coding:utf-8

from django.shortcuts import render
from django.http import  HttpResponse
  
# Create your views here.
def index(request):    
    return HttpResponse('<center><h3>Hello World</h3></center>')

2、在webSite目录下的urls.py文件中添加blog映射,也就是分发,见修改后的文件:

代码语言:javascript
复制
#!/usr/bin/env python
#coding:utf-8

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

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^blog/',include('blog.urls',namespace='blog')),
]

3、修改blog目录下的urls.py文件,把index视图添加到url中,见源码:

代码语言:javascript
复制
#!/usr/bin/env python
#coding:utf-8 

from django.conf.urls import url
from .views import  *
urlpatterns = [
    url(r'^index/$', index),
]

4、把blog加入到INSTALLED_APPS中,打开webSite目录下的settings.py文件,在INSTALLED_APPS

中加入blog,见源码:

代码语言:javascript
复制
INSTALLED_APPS = [  
'django.contrib.admin',    
'django.contrib.auth',  
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles',   
'blog',
]

5、启动开发服务器,也就是python manage.py runserver

6、在浏览器中输入http://127.0.0.1:8000/blog/index,可见到如下的截图,表示ok,见截图:

关于这个实现的过程,在Django_中文教程中已经有了很详细的解释,这里直接复制过来,不再重复。见原文的说明:

1. 进来的请求转入/hello/. 2. Django通过在ROOT_URLCONF配置来决定根URLconf. 3. Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目。 4. 如果找到匹配,将调用相应的视图函数 5. 视图函数返回一个HttpResponse 6. Django转换HttpResponse为一个适合的HTTP response, 以Web page显示出来

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档