问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Django几天学习使用心得:小型网站还是php比

发布网友 发布时间:2022-04-23 05:26

我来回答

2个回答

懂视网 时间:2022-05-10 13:37

前言: 这篇博客对上篇博客django进阶作下补充。

一、效果图

django进阶学习记录

前端界面较简单(丑),有两个功能:

  • 从数据库中取出书名 eg: 新书A

  • 在form表单输入书名,选择出版社,选择作者(多选),输入完毕后一点击创建新书submit,就在数据库创建数据

  • 二、实现

    我们先来实现第一个功能,根据数据库数据在页面打印出书名。

    1. 添加url路由

     url(r'^book/', views.book),

    2. 在views.py定义book方法

    django默认使用GET方式,即获取数据;如果想创建/修改数据,比如待会要实现的第二个功能,就需要用POST方式。

    def book(request):
     books = models.Book.objects.all()  #找到所有的书
     publisher_list = models.Publisher.objects.all()
     author_list = models.Author.objects.all()
     
     print("---->:", request)
     return render(request, "app01/book.html", {"books":books,
           "publishers":publisher_list,
           "authors":author_list})


    3. 在templates/app01下创建book.html:

    books为数据库中所有书的对象集合,在html用个循环便可在前端页面显示书名。

    <h2>书列表:</h2>
     <ul>
     {% for book in books %}
      <li>{{ book.name }}</li>
     {% endfor %}
     </ul>

    接下来实现第二个功能,创建数据。

    先来看前端的html:

    <form method="post" action="/payment/book/"> {% csrf_token %}
     book name:<input type="text" name="name"/>
     <select name="publisher_id">
      {% for publisher in publishers %}
      <option value="{{ publisher.id }}">{{ publisher.name }}</option>
      {% endfor %}
     </select>
     <select name="author_ids" multiple="multiple">
      {% for author in authors %}
      <option value="{{ author.id }}">{{ author.first_name }}</option>
      {% endfor %}
     </select>
     <div>
      <input type="submit" value="创建新书"/>
     </div>
     </form>

    注意:

  • 因为是创建数据,所以提交方式要用post, action="/payment/book/"是一条url, 表示将数据提交到book方法,数据封装在request参数。

  • 你在选择出版社时,要将出版社名传到后台?? 其实完全不用,你只要将选中id传到后台就可以了。因此我在option标签加上value属性,用来获致出版社的id, 当你一点击submit提交数据时,value中的id会提交给select标签的name属性,name属性再将数据提交到后台。

  • 你会发现html代码第一行有{% csrf_token %},这个是什么意思我现在还不知道~_~,我将这句代码去掉会提交不了数据!!

  • 再来看后台book方法

    def book(request):
     if request.method == "POST": #若是创建书的数据
     print(request.POST)
     book_name = request.POST.get("name")
     publisher_id = request.POST.get("publisher_id")
     # 即使在前端页面选择多个作者只会返回一个值,只能取到最后一个作者的id
     #author_ids = request.POST.get("author_ids")
     author_ids = request.POST.getlist("author_ids") #getlist 可取出所有作者的id
    
     #生成一个书的对象
     new_book = models.Book(
      name = book_name,
      publisher_id = publisher_id,
      publish_date = "2017-3-18"
     )
     new_book.save() #同步到数据库
    
     #new_book.authors.add(1,2) 添加作者
     new_book.authors.add(*author_ids) #author_ids为列表,需在前面加上*转化为id
    
     print("------->>:", book_name,publisher_id,author_ids)
    
     books = models.Book.objects.all()
     publisher_list = models.Publisher.objects.all()
     author_list = models.Author.objects.all()
    
     print("---->:", request)
     return render(request, "app01/book.html", {"books":books,
           "publishers":publisher_list,
           "authors":author_list})

    当我在前端界面输入书名: 新书A, 选中第二个出版社,选中第2和第3个作者,为了方便看,我在后台打印出来了:

    <QueryDict: {'name': ['新书A'], 'csrfmiddlewaretoken': ['V9OdHSJ10OFSq3r
    vI41tggns1W2VxwV'], 'publisher_id': ['2'], 'author_ids': ['2', '3']}>
    ------->>: 新书A 2 ['2', '3']
    ---->: <WSGIRequest: POST '/payment/book/'>
    [18/Mar/2017 14:06:23] "POST /payment/book/ HTTP/1.1" 200 1335

    根据打印结果知道author_ids是一个列表,当我为书添加作者时,用下面的代码:

    new_book.authors.add(*author_ids)

    为什么要在列表前加上*?不加上*是会曝错的! 加上*是为了将列表形式["2","3"]转化为作者id形式2,3。

    登陆admin后台查看刚刚创建的新书A:

    django进阶学习记录

    热心网友 时间:2022-05-10 10:45

    写心得体会的格式
    、什么是“心得体会"
    在参与社会生活与社会实践中,人们往往会产生有关某项工作的许多感受和体会,这些感受和体会不一定经过严密的分析和思考,可能只是对这项工作的感性认识和简单的理论分析.用文字的形式把这些心得表达出来,就是“心得体会”.
    “心得体会”是一种日常应用文体,属于议论文的范畴.一般篇幅可长可短,结构比较简单.
    2、心得体会怎么写?心得体会的写法
    心得体会的基本格式大致由以下几个部分组成
    I、标题
    心得体会的标题可以采用以下几种形式:
    在XX活动(或XX工作)中的心得体会
    关于XX活动(或XX工作)心得体会(或心得)
    心得体会
    如果文章的内容比较丰富,篇幅较长,也可以采用双行标题的形式,大标题用一句精练的语言总结自己的主要心得,小标题是“在XX活动(或X X工作)中的心得体会”,例如:
    从小处着眼,推陈出新
    ——参加大学生科技创新大赛的心得
    II、正文 这是心得体会的中心部分
    (1)开头 简述所参加的工作(或活动)的基本情况,包括参加活动的原因、时间、地点、所从事的具体工作的过程及结果.
    (2)主体 由于心得体会比较多地倾向于个人的主观感受和体会,而人的认识往往有一个逐渐发展和演变的过程,因此,在心得体会的主体部分的结构安排上,常常以作者对客观事物的主观感受和认识发展、情感变化为中心线索,组织材料,安排层次.具体的安排方法主要有两种:并列式结构和递进式结构.
    A.从不同角度将自己的感受和体会总结成几个不同的方面,分别加以介绍,层次之间是并列关系.即:
    体会(一)
    体会(二)
    体会(三)
    •••••••••
    在每一部分内部,理论上总述,再列举事实加以证明的方法,使文章有理有据,不流于空(华考范文网
    B.递进式结构比较适合于表现前后思想的变化过程,尤其是针对以前曾有错误认识,经过活动(或工作)有所改变的情况.
    在层次安排上,递进式结构应先简述以前的错误认识,再叙述参加活动的原因、时间、地点、简单经过,然后集中笔墨介绍经过活动所产生的新的认识和感受,重点放在过去的错误与今天的认识之间的反差,以此证明活动的重要意义.
    (3)结尾 心得体会的结尾一般可以再次总结并深化主题,也可以提出未来继续努力的方向,也可以自然结尾,不专门作结.
    (4)署名 心得体会一般应在文章结尾的右下方写上姓名,也可以在文章标题下署名,写作日期放在文章最后.
    3、写作心得体会应注意的问题
    (1)避免混同心得体会和总结的界限.一般来说,总结是单位或个人在一项工作、一个题结束以后对该工作、该问题所做的全面回顾、分析和研究,力求在一项工作结束后找出有关该工作的经验教训,引出规律性的认识,用以指导今后的工作,它注重认识的客观性、全面性、系统性和深刻性.在表现手法上,在简单叙述事实的基础上较多的采用分析、推理、议论的方式,注重语言的严谨和简洁.
    心得体会相对来说比较注重在工作、学习、生活以及其他各个方面的主观认识和感受,往往紧抓一两点,充分调动和运用叙述、描写、议论和说明甚至抒情的表达方式,在叙述工作经历的同时,着重介绍自己在工作中的体会和感受.它追求感受的生动性和独特性,而不追求其是否全面和严谨,甚至在有些情况下,可以‘‘只论一点,不计其余’’.
    (2)实事求是,不虚夸,不作假,不无病*.心得体会应是在实际工作和活动中真实感受的反映,不能扭捏作态,故作高深,更不能虚假浮夸,造成内容的失实.
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 苹果雪梨青椒橘子榨汁喝有什么好处 西安哪里有学习PHP的 苹果橘子汁怎么榨好喝 大家对Php的感受与看法 桔子汁有什么功效 苹果汁对身体有什么好处? 今年深圳php行情怎么样 苹果可以和橘子一起榨果汁吗 php学习心得 橘子苹果可以一起榨汁吗 如何才能学好php呢?有没有大牛的php学习心得总结,求指教! 苹果和橘子一起榨汁是什么味道? 求php学习心得 苹果桔子可以一起榨汁吗 苹果可以和橘子一起榨汁吗 橘子与苹果可以一起榨汁吗? 苹果和桔子能一起榨汁吗 苹果橙子汁有什么好处 word里面页码要设置从第三页开始如何设置? 苹果橘子煮水的功效是什么? 苹果和橘子有助于消化吗? php的一个问题 苹果能和橘子榨汁吗 学编程,软件开发的同学、从事软件开发it行业的朋友请讲,我们交流一下学习心得吧,想向你们取经~~ 苹果、香蕉、橙子、橘子分别有哪些营养和物质(元素)? 苹果橘子熬成汁可以做钓鱼小药吗 关于正则表达式的问题PHP的。求大神帮忙啊 橙汁有什么功效 请高手给我指点一条编程之路[自学者],100分 金桔橙汁的功效 用PHP做一个项目怎么才算是一个MVC项目,求不要粘贴复制,讲一讲心得体... 求一份技术大牛写的ThinkPHP的笔记心得!我是一个菜鸟 如何提高团队执行力学习心得 BYDF3方向盘打死是几圈? 比亚迪f3曲线行驶方向盘三个点位都打几圈? 比亚迪f3装上新方向机为何自动往左打死方向 优酷比亚迪f3倒车入库找点 比亚迪F3转向“打死”后异响,什么原因? iCloud内存没满但是照片同步不了这是什么原因? 比亚迪f3往左方向打死加油走车就咯噔一声是怎么回事