zoukankan      html  css  js  c++  java
  • PythonWeb-Django框架学习-Demo2-创建你的小WEB应用

    上篇完成了Django环境快速搭建,这一篇我们再深入一些。

    1、创建一个APP:

    一个Django项目可以包含好多个App,一个APP就相当于一个子模块、分支系统这样的存在。

    I:在CMD命令窗口,使用CD命令切换到mypysite目录。输入python manage.py startapp app的名字。

     为了看清楚recordinfo的目录结构,我将项目拖到了文本编辑器中。

    II:创建好APP,我们需要设置项目的settings.py来把我们的加入到整个项目的大家庭中。

    # mypysite/settings.py
    
    
    # Application definition
    
    INSTALLED_APPS = [
        'recordinfo',
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
    ] 

    2、设置路由(URL)映射

    用户在浏览器中输入的url就是路由,在Django中路由都写在urls.py中,在这个文件中,将url和业务处理函数(也就是视图)映射到一起。

    为了防止以后我们的APP越来越多,我们要在项目一开始就把APP的路由配置和项目的路由配置区分开来。具体操作如下:

    I:给应用recordinfo 添加一个urls.py文件:

    from django.urls import path
    from . import views # . 代表当前目录即recordinfo
    app_name='recordinfo' #给应用添加一个命名空间
    urlpatterns=[
        #path函数是路由系统中很重要的方法
        #参数1:URL、参数2:路由对应的视图函数
        #参数3:传递给视图的字典信息
        #参数4:给URL起个别名
        path('',views.index,name='index'),
    ]

    说明:上面的path('',views.index,name='index')---是说:在app的视图处理文件中有一个index函数来响应URL为127.0.0.1/recordinfo的请求。

    II:在项目主urls.py文件中,加入app独有的urls文件。

    from django.contrib import admin
    from django.urls import path,include
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('recordinfo/',include('recordinfo.urls')),
    ]

    注意:include()相当于多级路由,它会把接收到的url地址,跟前面的path()的第一个参数匹配,把匹配上的部分去掉,把剩下的字符串传递给下app的urls路由文件。由我们目标APP的路由进行判断。

    3、编写视图处理函数

    简单版:返回一串字符信息。在app下面的views.py文件中 添加下面代码:

    from django.shortcuts import render,HttpResponse
    # Create your views here.
    def index(myrequest):
        return HttpResponse('我是首页,欢迎你。')

    运行结果:

    4、使用模板

    我的理解:模板就是一个特殊的HTML文件,它里面包含了一些模板语言:变量、语句等。接收到视图处理函数传递过来的值后,这些值替换掉模板中的变量,最终相应给用户的就是一个纯正的HTML文件。

    I:在app中添加templates文件夹、在templates文件夹中添加myindex.html。

    <!DOCTYPE html>
    <html>
    <head>
        <title>首页</title>
    </head>
    <body>
        <h1>欢迎:{{name}}来到信息登记页</h1>
    </body>
    </html>

    II:修改一下视图文件views.py。

    from django.shortcuts import render
    # Create your views here.
    def index(myrequest):
        # return HttpResponse('我是首页,欢迎你。')
        pamdict={'name':'博哥'}
        return render(myrequest,'recordinfo/myindex.html',pamdict)

    III:启动web服务,在浏览器中输入路径回车。

     说明:render()函数将加载模板、传递参数、返回HttpResponse对象一套操作一气呵成,封装在了一起。

    通过这篇了解了 路由、模板、视图。下篇记录Django如何进行数据库操作。

    此篇完成后项目目录是这个样子:

  • 相关阅读:
    PointToPointNetDevice doesn't support TapBridgeHelper
    NS3系列—10———NS3 NodeContainer
    NS3系列—9———NS3 IP首部校验和
    NS3系列—8———NS3编译运行
    【习题 7-6 UVA
    【Good Bye 2017 C】 New Year and Curling
    【Good Bye 2017 B】 New Year and Buggy Bot
    【Good Bye 2017 A】New Year and Counting Cards
    【Educational Codeforces Round 35 D】Inversion Counting
    【Educational Codeforces Round 35 C】Two Cakes
  • 原文地址:https://www.cnblogs.com/bigbosscyb/p/12486370.html
Copyright © 2011-2022 走看看