一、初识django:
django是一门开放源代码的,由Python编译而成的一款web框架,它的模式是MTV(models templates views),使用框架的好处在于,里面有好多集成好的东西,我们可以直接拿过来使用。下面我们直接看如何创建以及使用django:
1、需要先安装django模块,pip3 install django
2、接下来就是创建一个django项目,可以直接在pycharm中选择'file-->new progect'中选择创建django项目,也可以使用命令去创建:django-admin.py startproject mysite,这样就会创建一个叫mysite的django项目。
3、创建APP:
cd mysite ==》 python3 manage.py startapp cmdb
4、连接数据库
在连接数据库之前需要先注册APP,注册app是在settings文件中配置上APP的名称就可以。
执行命令需要创建数据库:
python3 manage.py makemigrations
python3 manage.py migrate
5、几个重要的文件:
settings: 配置文件
urls: 路由系统
manage.py #django程序启动文件
models: 创建数据库表的文件
views: 处理用户请求的问题
二、使用一个小例子,来说明django:
在你创建的mysite项目下面会有一个templates目录,它下面主要放置的是接收用户输入的HTML文件,下面通过几步来阐明一下如果使用django来完成一个简单的操作:
1、首先让我们先在models里面写类生成表:
from django.db import models
#这里创建的类就是表名,其实UserInfo就是Model的子类,里面的对象就是字段
#字段的类型是string类型,最大的长度是32
class UserInfo(models.Model): user = models.CharField(max_length=32) passwd = models.CharField(max_length=32)
2、其次在templates目录下创建一个index.html文件,文件内容如下:
1 <div> 2 <p>用户名:<input type="text" id="username"/></p> 3 </div> 4 <div> 5 <p>密码:<input type="password" id="pwd"/></p> 6 </div> 7 <input type="button" id='login' value="login" onclick="SubmitLogin();"/> 8 9 <script src="/fff/jquery-1.8.2.min.js"></script> 10 <script> 11 function SubmitLogin(){ 12 $.ajax({ 13 url: '/web/ajax/', 14 type: 'POST', 15 data: {'user': $('#username').val(),'pwd': $('#pwd').val(),'val':$('#login').val()}, 16 dataType: 'json', 17 success: function(data){ 18 if(data.status){ 19 location.href='/web/userinfo/'; 20 }else{ 21 alert(data.message); 22 } 23 } 24 }) 25 } 26 </script>
需要注意的是:我这里直接使用的ajax来进行发送请求,其实还有一种方式就是我在input标签中创建一个name属性,然后在views文件中去调用这个name属性的值,那么还是使用ajax比较简洁易懂,里面的内容先不看,ajax就是把用户名和密码通过字典的方式传送过去,那么views中的配置为:
1 def ajax(request): 2 if request.method == 'POST': 3 ret = {'status':False,'message':''} 4 u = request.POST.get('user',None) 5 p = request.POST.get('pwd',None) 6 value = request.POST.get('val',None) 7 user_count = models.UserInfo.objects.filter(user=u).count() 8 pan = models.UserInfo.objects.filter(user=u,passwd=p).count() 9 10 if user_count <= 0: 11 if value == 'login': 12 ret['message'] = '用户不存在' 13 return HttpResponse(json.dumps(ret)) 14 15 return render(request,'ajax_demo.html')
在这里我只是简单的判断用户名是否存在,如果不存在,就ret字符串传送到前端页面,前端页面中success的部分就是处理来自views端传过来的数据。
3、还有一个重要的部分需要我们来进行操作,就是路由系统,来看下我的配置:
urlpatterns = [ url(r'^ajax/', views.ajax), ]
4、启动django
屏幕输出中会有让我们访问的地址,基本上都是http://127.0.0.1:8000/,如果我们直接这样访问的话,肯定是出不来的,因为我们没有按照我们路由系统里面的设置去访问,所以我们需要在最后加上ajax 的url才可以访问正常。