一个初学者的辛酸路程-初识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
posted @ 2017-03-07 18:42  我还可以试试  阅读(291)  评论(0编辑  收藏  举报