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>    
原文地址:https://www.cnblogs.com/victorfengming/p/11930968.html