Django框架具体使用

1、django 中的应用
    1、什么是应用
        应用表示的就是网站中一个独立的模块,包含独立的信息。
        网易 ,是一个网站,是一个完整的项目,该网站可能会包含新闻,娱乐,体育,财经。。。不同的频道。这些频道在Django或网站中,可以被称为 "应用"

        在整个项目的主文件夹中不要去处理其他的请求,主文件夹只做主要设置以及应用地址的 分发
    2、创建应用
        1、创建应用的命令
            ./manage.py startapp 应用名称

            在项目中的体现 , 会出现一个应用的文件夹,文件夹中会包含应用的配置的文件 views.py,models.py
        2、在 settings.py 中注册应用
            在 INSTALLED_APPS中 追加应用名称即可
            INSTALLED_APPS = [
                'django.contrib.admin',
                ... ...
                '应用名称',
            ]
        3、应用的结构组成
            1、migrations 文件夹
                存放数据库日志文件,是一个django与数据库交互的中间文件
            2、__init__.py 初始化应用的py文件
            3、admin.py 与后台管理相关的 py 文件
            4、apps.py 应用属性设置文件,不需要改
            5、models.py Models模型文件
            6、tests.py 测试模块,通常不用
            7、views.py 定义视图的 py 文件

        4、应用中的 url
            1、作用
                应用中的url负责匹配当前应用中的视图
                由于应用中默认不带 urls.py 文件,所以该文件需要手动添加
            2、添加 urls.py 文件
                from django.conf.urls import url
                urlpatterns = [
                    url()
                ]

2、django 模板(Tempate)
    1、模板
        就是一个网页文件,可以被view响应给用户的
        解决了 复杂的 显示问题
    2、模板的设置
        在主设置文件 settings.py 中,增加对模板的设置
        1、在 settings.py 中 找到 TEMPLATES
            1、BACKEND :模板的搜索引擎,无需改动
            2、DIRS :指定模板所存放的位置
                DIRS = ['index.temp','music.temp']
                但是,如果 DIRS 中不写任何内容的话,那么django会自动搜索一个叫                         tempaltes 的文件夹
                推荐方式:
                    DIRS 中什么都不写
                    每个应用中创建一个 templates 的文件夹,并将模板保存于此
            3、APP_DIRS
                True :首先从DIRS中指定的文件夹中查找模板,否则再找TEMPLATES
    3、模板的加载方式
        1、使用 HttpResponse 直接加载字符串
            return HttpResponse("... ...")
        2、使用 loader 获取模板,通过 HttpResponse 进行响应
            from django.template import loader

            def xxx(request):
                t=loader.get_template('show.html')
                html = t.render({})
                return HttpResponse(html)
        3、使用 render_to_response 或 render 直接加载
            1、render_to_response
                将来有可能被放弃
            2、render
                return render(request,'模板名称',参数字典)


        4、路由文件中 url 函数中的 name 参数
            url(regex,views,kwards=None,name=None)

            name参数,允许为当前的 url 起一个名字,确保能够在                                 Template,Models,Views 在任何情况下都能找到对应的 url 请求地址

                (有可能url请求地址匹配模式会发生改变)

            使用方式:

                1、为 url 函数增加 name 参数,并起名

                2、在模板中

                    {%url 'name'%}

                    ex:

                     <a href="{%url 'name' 参数1 参数2%}">... ...</a>

                    以上 标签表示的就是 name 所对应的 地址匹配模式
                    或
                    {%url 'name' 参数1 参数2 %}
    4、模板的语法
        1、变量
            作用:允许将后端的数据传递给模板(html),html会根据变量的值来显示内容
            允许作为变量传递给模板的类型:
                数字,字符串,列表,元组,字典(集合),函数,对象

            获取变量值的语法:{{变量名}}

             views.py
            def template_var(request):
                dic = {
                    'str':'字符串',
                    'num':5,
                    'list':[1,2,3,4]
                }

                return render(request,'模板地址',dic)



            在视图中,使用 locals() 封装参数传递到模板
            def show_views(request):
                uname = 'xxx'
                uage = 35
                ugender = 'Male'
                return render(request,'show.html',locals())



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值