一个初学者的辛酸路程-初识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
客户端,服务器端,服务器端最前面有个URL,比如定义了一个/index,它对应了一个函数f1() ,一个一个对应关系就类似这样子,程序运行起来,对应关系就放在服务器内存了,有人请求,就一个一个匹配,匹配成功了,那就触发相对应的函数执行就可以了。
那么这个函数给我返回的内容是什么?返回的是字符串
->URL对应关系(匹配) -》视图函数(views)-》返回给用户字符串
>URL对应关系(匹配) -》视图函数(views)-》打开一个HTML文件,读取内容
2、创建Django project
django-admin startproject mysite
cd mysite
python manage.py startapp cmdb
mysite:
配置文件相关:
3、配置
模板路径
静态文件路径
4、编写程序
a url.py
/index/ 对应一个函数func
b views.py
c 模板语言
return render(request,'index.html',{'li':[11,22,33]})
for循环
{% for item in %}
{% endfor %}
====索引用的是点=====
{{ item.0 }}
1、快速创建一个Django项目
①使用命令,创建APP
②、新建一个static目录
③、修改配置,从上往下修改,setting.py文件
注释掉下面这行
# 'django.middleware.csrf.CsrfViewMiddleware',
新增路径
STATICFILES_DIRS = ( os.path.join(BASE_DIR,'static'), )
④、写URL
业务是写在APP里面的,所以先在APP下面的view.py写如下
from django.shortcuts import render,HttpResponse # Create your views here. def index(request): return HttpResponse('index')
然后在URL写入
from app01 import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^index/', views.index), ]
然后把程序启动起来
提交,get提交放在URL上面,post提交放在内容里面
GET: 获取数据
POST: 提交数据
2、写个项目
提交表单,跳转
需要有的就是一个登陆界面,放在templates里面
<!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
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
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页面