cczhy

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  1. 模板语言可以有if、for等。模板语句在{% %}中。
  2. form表单提交,页面会刷新。
  3. Ajax提交,页面不刷新。跳转需要手动JavaScript实现。location.href
  4. 数据输入的两种方式。一是Ajax,适合数据比较少的情况;二是新的URL页面,适合数据比较多的情况。
  5. Django项目的步骤
    1. django-admin startproject mysite
    2. 配置。包含模板、静态文件、crsf。
    3. 路由关系。URL对应到函数。从上到下进行匹配。
    4. 视图函数。def index(request):
      1. request.method
      2. request.GET
      3. request.POST
      4. return redirect('url')
      5. return render(request,模板路径,数据字典)。获取模板加上数据,然后进行渲染,再返回给HttpResponse。
      6. return HttpResponse()
    5.     模板渲染。{{ k1 }} {{ k1.0 }} {% for i in result %} {{ i }} {% endfor %}
      1. {{ if 1>2 %}
      2. {{ else }}
      3. {{ endif }}
  6. 模态对话框
    1.   <a onclick="modelEdit();">对话框编辑</a>
    2. <a href="http://www.baidu.com" onclick="modelEdit();">对话框编辑</a>。注意这时是跳转还是执行函数。通过测试发现,先执行函数,然后进行跳转。
    3. <a href="http://www.baidu.com" onclick="return modelEdit();">对话框编辑</a>。然后在modelEdit()函数中return false,这时后续的跳转不再执行。如果要执行,那么return true。
    4. 以上就是js阻止默认时间的发生的方法。
    5. <a onclick="return modelEdit(this);">编辑</a>
      function modelEdit(ths){
          /*显示对话框*/
          document.getElementById('shadow').classList.remove('hide');
          document.getElementById('editmodal').classList.remove('hide');
          /*获取当前标签,然后获取当前标签的父标签,再找其上方标签获取id*/
          var v = $.(ths).parent().prevAll(); /*获取父标签之前的所有同级标签,但是顺序是从后向前*/
          console.log(v);/*在Chrome的console标签可以得到和查看*/
          /*找到相应的项,赋值到编辑对话框中*/
          $('#editTitle').val($(v[0]).text);
      }
      
      <input id='editid' type="text" name="id" style="display:none" />
      然后可以采用上面的方式进行赋值,将id值保存下来。
      $('#editid').val($(v[1]).text);
      
      提交按钮的写法:
      <input type="button" value="提交" onclick="editAjaxSend();" />
      function editAjaxSend(){
          var nid=$('#editid').val(); 为啥这里需要#?
          var content = $('#editTitle').val();
          console.log(nid,content); 在Chrome的console标签可以得到和查看
          然后发送request,注意js发送Ajax请求的方法如下
          $.ajax({
              url:'/modal_edit_class',
              type:'POST',
              data:{'nid':nid,'content':content}
              success:function(arg){
                  console.log(arg);
              }
      })
      
      然后编辑urls文件,增加处理请求的处理网址和函数:
      url(r'^modal_edit_class'),views.modal_edit_class),
      然后编写处理函数:
      def modal_edit_class(request):
          ret = {'status':True,'message':None}
          try:
              nid = requet.POST.get('nid')
              content = reuqest.POST.get('content')
              sqlheper.modify('update set title = %s where id = %s',[content,nid,])
          except Exception as e:
              ret['status'] = False
              ret['message'] = str(e)
          import json
          return HttpResponse(json.dumps(ret)) #json帮助把dict转换为string

       

    6. js中字符串和json对象的相互转换:
      JSON.parse(string) 把字符串转换为对象
      JSON.stringify(object) 把对象转换成字符串

       

      arg = JSON.parse(arg);
      if(arg.status){
          location.reload(); //刷新当前页面
      }
      else {
          alert(arg.message);
      }

       

    7. continue

 

posted on 2020-06-14 16:02  cczhy  阅读(66)  评论(0)    收藏  举报