2.2 创建应用

1. 1. 创建应用

创建目录。

要创建您的应用程序,请确保您与目录位于同一目录,manage.py 并键入以下命令:

workon django

python 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. 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. 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. 4. 在应用下创建子路由

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^hello/',views.index),
]

5. 5. 通过浏览器访问服务

注意:url路由,由上而下 进行匹配,如果在上面就匹配成功,则不会向下匹配

通过浏览器访问服务 127.0.0.1:8000/abc ==> root url(根路由) ==> 加载子路由(myweb/urls.py)

==> 正则匹配访问的路径(path) =-=> 视图函数(views.index)

==> views.py index() 响应内容

6. 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>
Copyright © shxdledu.cn 2018 all right reserved,powered by Gitbook该文件修订时间: 2019-03-18 09:24:17

results matching ""

    No results matching ""