reqwest.js 和 vue.js 结合(一)

有了 api 之后,我们需要在前端从 api 中获取数据,用 reqwest.js 这个模块从 api 获取数据,再使用 vue.js 来渲染,在网页中展示数据。

1. 编辑 views



在 views.py 增加一个 book_list 方法,用来展示全部书目信息:

def book_list(request):
    return render(request, 'book_list.html', {})

2. 编写前端



编辑 templates 中的 book_list.html,用 reqwest.js 从 api 获取数据,再使用 vue.js 来渲染成网页:

<!DOCTYPE html>
{% load staticfiles %}

<html>
    <head>
        <title>Book List</title>
        <script type="text/javascript" src="{% static "js/vue1.js" %}"></script>
        <script type="text/javascript" src="{% static "js/reqwest.js" %}"></script>
    </head>

    <!-- verbatim 标签,表示该标签内的内容不使用django渲染 -->
    {% verbatim %}
    <body id="app">

        <!-- 展示书目内容 -->
        <div v-for='book in books'>
            <h3>{{ book.title }}</h3>
            <p>{{ book.author }}</p>
            <p>{{ book.summary }}</p>
            <hr>
        </div>

        <script>
            var vm = new Vue({
                el:"#app",

                data: {
                    books:[]
                },

                methods: {
                    // 用reqwest从api中获取数据
                    getData:function () {
                        var self = this;
                        reqwest({
                            // 请求的网址,即上文中创建的api地址
                            url:'http://127.0.0.1:8000/api/book/',
                            // 获取数据的格式:json
                            type:'json',
                            // 请求的方法:get
                            method:"get",
                            // 请求成功后执行的方法
                            // 这里把数据保存到data的books中
                            success:function (resp) {
                                self.books = resp;
                            },
                        })
                    }
                },

                // 预执行,打开网页时自动执行getData方法
                ready:function () {
                    this.getData()
                }
            })
           
        </script>

    </body>
    {% endverbatim %}

</html>

3.测试



打开:http://127.0.0.1:8000/book_list ,网页如下:

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 查到分数那一刻,五雷轰顶一样翁的想这要是做梦就好了,接下来还得面对现实 离进面试差19分,尴尬的低分!老公那边沉默...
    Aimee_mk阅读 371评论 0赞 0

友情链接更多精彩内容