Django创建第一个应用
Django创建第一个应用
1,创建应用
Django自带一个实用程序,可以自动生成应用程序的基本目录结构,因此您可以专注于编写代码而不是创建目录。
要创建您的应用程序,请确保您与目录位于同一目录,manage.py 并键入以下命令:
python3 manage.py startapp myweb
这将创建一个目录myweb,其目录如下:此目录结构将容纳轮询应用程序。
[root@localhost demo]# tree mysite/
mysite/
├── manage.py
├── mysite
│ ├── init.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── myweb
├── admin.py
├── apps.py
├── init.py
├── migrations
│ └── init.py
├── models.py
├── tests.py
└── views.py
2,创建视图
Django具有“视图”的概念来封装负责处理用户请求和返回响应的逻辑。
在myweb/views.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
# 定义视图函数,业务逻辑
def index(request):
# 返回一句话
return HttpResponse('Hello World!!!')
3,修改root路由 mysite/urls.py
当用户使用django提供的站点进行访问时,首页由路由进行匹配访问地址,然后指定函数或子路由进行处理
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
# url(r'^admin/', admin.site.urls),
url(r'^', include('myweb.urls')),
]
4,在应用下创建子路由
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^hello/',views.index),
]
5,通过浏览器访问服务
注意:url路由,由上而下 进行匹配,如果在上面就匹配成功,则不会向下匹配
通过浏览器访问服务
127.0.0.1:8000/abc ==> root url(根路由) ==> 加载子路由(myweb/urls.py)
==> 正则匹配访问的路径(path) =-=> 视图函数(views.index)
==> views.py index() 响应内容
6,使用模板
作为Web 框架,Django 需要一种很便利的方法以动态地生成HTML。
最常见的做法是使用模板。
模板包含所需HTML 输出的静态部分,以及一些特殊的语法,描述如何将动态内容插入。
在当前manage.py的同级目录中创建一个文件夹 templates/index.html
在settings.py文件中 TEMPLATES模块设置选项
'DIRS': [os.path.join(BASE_DIR,"templates")],
在子路由中添加一个路由
url(r'^tmp$',views.tmp,name='myweb_tmp'),
在views.py 创建一个 tmp的视图函数
def tmp(request):
# 加载一个模块
return render(request,'index.html')
如果在视图函数加载模板时,分配了数据,就可以在模板中使用数据
def tmp(request):
# 实例化 模型对象,获取数据
# 分配数据,
context = {'info':'aabbccddee'}
# 加载一个模块
return render(request,'index.html',context)
在html模板中输出变量 输出
<h3>加载数据</h3>
<p></p>