zoukankan      html  css  js  c++  java
  • Django框架

    一、初识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才可以访问正常。

  • 相关阅读:
    CCF CSP 题解
    CCF CSP 2019032 二十四点
    CCF CSP 2018121 小明上学
    CCF CSP 2019092 小明种苹果(续)
    CCF CSP 2019091 小明种苹果
    CCF CSP 2019121 报数
    CCF CSP 2019031 小中大
    CCF CSP 2020061 线性分类器
    CCF CSP 2020062 稀疏向量
    利用国家气象局的webservice查询天气预报(转载)
  • 原文地址:https://www.cnblogs.com/madq-py/p/5859096.html
Copyright © 2011-2022 走看看