zoukankan      html  css  js  c++  java
  • Day17

                manage.py:Django项目里面的工具,通过它可以调用django shell和数据库等

        settings.py:包含了项目的默认配置,包括数据库信息,调试标志以及一些工作的变量

        urls.py:负责把URL模式映射到应用程序

        model.py:负责数据库处理

        view.py:处理一些业务逻辑

        admin.py:Django自带的一个后台数据管理系统

    关于URL路由系统           

    from django.conf.urls import url,include
    from django.contrib import admin
    from app import views
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        # 静态路由
        url(r'^login/',views.login),        # 如 http://127.0.0.1:8080/login
        # 为路由取别名,这样,在地址修改的时候,前端不需要修改地址
        url(r'^register/',views.register,name='reg'),
        # 动态路由,可以用来做分页
        # 无名分组,views里面的函数名参数可任意
        url(r'^article/(d{4})$',views.article),    # 如 http://127.0.0.1:8080/article/2017
        # 有名分组,view里面的函数名必须是year和month
        url(r'^arcticle/(?P<year>d{4})/(?P<month>d{2})',views.arcticle),
        # 路由分发
        url(r'^app/',include('app.urls')),
    ]

     视图函数views          

       在http请求中产生两个核心对象,所在位置是,django.http:

     http请求:HttpRequest对象

     http响应:HttpResponse对象

    def register(request):
        '''
        request就是HttpRequest对象
        HttpResponse常用的扩展对象
            render:页面渲染,可将参数以字典的形式传递给页面 也可以通过locals()将参数传递过去,没有进行页面跳转,url没有改变
            redirect:页面跳转,url发生改变
        :param request:
        :return:
        '''
        # 获取请求方法
        if request.method == "GET":
            '''
            对注册来分析,当我们进入注册页面的时候,一般都是GET请求
            '''
            # 获取GET里面的信息
            ret = request.GET
            print("GET信息",ret)  # 输出 GET信息 <QueryDict: {}> 是一个字典对象
            return render(request,"register.html")
        elif request.method == "POST":
            '''
            通过表单提交之后,变成了POST请求
            '''
            # 获取POST里面的信息
            ret = request.POST
            print("POST信息",ret)
            '''
            输出  POST信息 <QueryDict: {'csrfmiddlewaretoken': ['oeKNHGKKm9Ip6B4Y2bfZM16lD2ECoTylPzX7rKzEUO5baf5Dfw4uB2zz5zz61fL9'], 'username': ['Jason'], 'pwd': ['123'], 'gender': ['1']}>
    
            也是一个字典对象,可以通过句点获取表单提交过来的数据
            '''
    
            return redirect("/login/")
    
    def login(request):
        return render(request,"login.html")


    模板系统Template            
     

      组成:HTML代码+逻辑控制代码

      逻辑控制代码的组成

      ①变量,使用双大括号来引用变量:{{ var_name }}

    # 视图函数
    def index(request):
        people={
            "username":"Jason",
            "age":18,
            "gender":"男"
        }
    
        username="Jason"
    
        return render(request,"index.html",{"username":username,"people":people})
  • 相关阅读:
    网络流24题-运输问题
    ASP.NET API
    面向对象理解
    冒泡排序
    HTTP Header 缓存
    HTTP Header
    Flask学习笔记07之模板渲染
    Flask学习笔记06之@before_request请求之前执行
    Flask报错:AssertionError: View function mapping is overwriting an existing endpoint function: inner
    装饰器03之多个装饰器的执行顺序
  • 原文地址:https://www.cnblogs.com/jnbb/p/7816101.html
Copyright © 2011-2022 走看看