一个初学者的辛酸路程-初识Django

前言:

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

 

主要内容:

 1、jQuerypython

  事件绑定:web

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

    第一种:django

    $('.title').click(function(){服务器

    //thisapp

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

    console.log(v);dom

})socket

    第二种:

    $('.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>

 

2、JavaScript高级

页面框架加载完成,使用:但愿查看页面当即执行的操做

$(function(){

  ......

})

 

阻止默认事件

return false;

例如:

 

3、web框架本质

就是socket

4、Django

一、Django请求生命周期?

客户端,服务器端,服务器端最前面有个URL,好比定义了一个/index,它对应了一个函数f1()  ,一个一个对应关系就相似这样子,程序运行起来,对应关系就放在服务器内存了,有人请求,就一个一个匹配,匹配成功了,那就触发相对应的函数执行就能够了。
那么这个函数给我返回的内容是什么?返回的是字符串
 
->URL对应关系(匹配) -》视图函数(views)-》返回给用户字符串
>URL对应关系(匹配) -》视图函数(views)-》打开一个HTML文件,读取内容
 
二、建立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 建立数据库表,用它来操做数据库表
三、配置
模板路径
静态文件路径
四、编写程序
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 }}
 
一、快速建立一个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: 提交数据
 
二、写个项目
提交表单,跳转
须要有的就是一个登录界面,放在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
相关文章
相关标签/搜索