zoukankan      html  css  js  c++  java
  • 一个初学者的辛酸路程-初识Django

    前言:

     主要是关于JavaScript的高级部分以及Django

    主要内容:

     一、jQuery

      事件绑定:

      DOM事件绑定: -直接在标签上绑定

        第一种:

        $('.title').click(function(){

        //this

        var v = $(this).text();

        console.log(v);

    })

        第二种:

        $('.title').bind('click',function(){

        var v = $(this).text();

    })

        第三种:

        $('.c1').delegate('.title','click',function(){

        var v = $(this).text();

    })

        第四种:

        $('.c1').on('click','.title',function(){

          var v = $(this).text();

    })

      分析:

      上面的3个在内部调用的其实就是第4个。

    前面2个是直接绑定,后面2个是委托绑定。

      下面是HTML的标签:

      

                   <div class='c1'>
                        <div>
                            <div class='title'>菜单一</div>
                            <div class='content'>内容 一</div>
                        </div>
                        <div>
                            <div class='title'>菜单一</div>
                            <div class='content'>内容 一</div>
                        </div>
                        <div>
                            <div class='title'>菜单一</div>
                            <div class='content'>内容 一</div>
                        </div>
                        <div>
                            <div class='title'>菜单一</div>
                            <div class='content'>内容 一</div>
                        </div>
                    </div>

    二、JavaScript高级

    页面框架加载完成,使用:希望查看页面立即执行的操作

    $(function(){

      ......

    })

    阻止默认事件

    return false;

    例如:

    三、web框架本质

    就是socket

    四、Django

    1、Django请求生命周期?

    客户端,服务器端,服务器端最前面有个URL,比如定义了一个/index,它对应了一个函数f1()  ,一个一个对应关系就类似这样子,程序运行起来,对应关系就放在服务器内存了,有人请求,就一个一个匹配,匹配成功了,那就触发相对应的函数执行就可以了。
    那么这个函数给我返回的内容是什么?返回的是字符串
     
    ->URL对应关系(匹配) -》视图函数(views)-》返回给用户字符串
    >URL对应关系(匹配) -》视图函数(views)-》打开一个HTML文件,读取内容
     
    2、创建Django project
    django-admin startproject mysite
    cd mysite
    python manage.py startapp cmdb
     
    mysite:
    配置文件相关:
    • url.py    settings.py
    • 创建APP的时候
    • views.py
    • admin.py
    • models.py 创建数据库表,用它来操作数据库表
    3、配置
    模板路径
    静态文件路径
    4、编写程序
    a  url.py
    /index/ 对应一个函数func
    b    views.py
    •  def  func(request):
    • #包含所有的请求数据
    • return HttpResponse(字符串)
    • return   render(request,index.html ,{‘ ’})
    • return  redirect (‘URL’)
    c   模板语言
    return render(request,'index.html',{'li':[11,22,33]})
    for循环
    {% for item in  %}
    {% endfor %}
     
    ====索引用的是点=====
    {{ item.0 }}
     
    1、快速创建一个Django项目
    ①使用命令,创建APP
     
    ②、新建一个static目录
    ③、修改配置,从上往下修改,setting.py文件
    注释掉下面这行
    1. # 'django.middleware.csrf.CsrfViewMiddleware',
    新增路径
    1. STATICFILES_DIRS = (
          os.path.join(BASE_DIR,'static'),
      )
    ④、写URL
    业务是写在APP里面的,所以先在APP下面的view.py写如下
    1. from django.shortcuts import render,HttpResponse
       
      # Create your views here.
       
      def index(request):
          return HttpResponse('index')
    然后在URL写入
    1. from app01  import views
      urlpatterns = [
          url(r'^admin/', admin.site.urls),
          url(r'^index/', views.index),
      ]
     然后把程序启动起来
     
    提交,get提交放在URL上面,post提交放在内容里面
     
    GET:   获取数据
    POST: 提交数据
     
    2、写个项目
    提交表单,跳转
    需要有的就是一个登陆界面,放在templates里面
    1. <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
      </head>
      <body>
      <form action="/login/" method="POST">
          <p>
              <input type="text" name="user" placeholder="用户名">
         </p>
          <p>
              <input type="password" name="pwd" placeholder="密码">
          </p>
          <p>
              <input type="submit" value="提交">
          </p>
      </form>
      </body>
      </html>
    修改app01里面的views.py
    1. from django.shortcuts import render,HttpResponse,redirect
       
      # Create your views here.
       
      def index(request):
          return HttpResponse('index')
       
      def login(request):
          if request.method == "GET":
              return render(request,'login.html')
          elif request.method == "POST":
              u = request.POST.get('user')
              p = request.POST.get('pwd')
              if u == 'alex' and p == '123':
                  return redirect('/index/')
              else:
                  return render(request,'login.html')
          else:
              return redirect('/index/')
    修改urls.py
    1. from django.conf.urls import url
      from django.contrib import admin
       
      from app01  import views
      urlpatterns = [
          url(r'^admin/', admin.site.urls),
          url(r'^index/', views.index),
          url(r'^login/', views.login),
      ]
    这样就可以了。
    实现效果如下,登陆用户名认证后跳转到index页面
     
     
     
    over
  • 相关阅读:
    排序算法分析
    Android学习之DragEvent
    Android Studio导出Jar包
    Android中的一些基础知识(三)
    Android中的一些基础知识(一)
    Android中的一些基础知识(二)
    Android学习之Drawable(一)
    Android消息机制之Handler
    Android滑动事件冲突
    Android创建窗口(一)创建应用窗口
  • 原文地址:https://www.cnblogs.com/jixuege-1/p/6516235.html
Copyright © 2011-2022 走看看