zoukankan      html  css  js  c++  java
  • 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>    
    
  • 相关阅读:
    nginx虚拟主机解决企业内外网访问
    oarcle mysql 字段的区别和互换
    大话“扁平化设计”
    使用OGR创建弧形图形
    socket连接和http连接的区别
    nginx tomcat 配置集群负载
    GDAL工具使用示例(一)
    无法解析或打开软件包的列表或是状态文件 解决方案
    程序员们必看,不要让光环效应毁了你辛辛苦苦做的软件
    [spring]Bean注入——在XML中配置
  • 原文地址:https://www.cnblogs.com/victorfengming/p/11930968.html
Copyright © 2011-2022 走看看