Django框架

Posted madq_boke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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才可以访问正常。

以上是关于Django框架的主要内容,如果未能解决你的问题,请参考以下文章

Django rest_framewok框架的基本组件

[TimLinux] Django 信号

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

text 来自Codyhouse框架的Browserlist片段源代码

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段