温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Django开发-毕设-一、开启新项目

发布时间:2020-07-22 10:03:18 来源:网络 阅读:1902 作者:正经的青年 栏目:开发技术

    在经历了使用Java作为后台不断的遇到各种离奇的小错误之后,我选择了python作为我的后台来开发我大学中的最后一个网页项目。我对Django的感觉就是简单,大大简化了开发的时间,最主要的是基于python这种脚本语言,省去了编译时会遇到的各种小错误。下面开始开发记录。

    首先选择环境,在这里,我选择了虚拟机里安装ubuntu14.04作为后台,为此虚拟机分配了3GB内存(大一点,要不然卡),两块网卡,一块为了使其联网,一块为了与本地进行连接(怕网线突然掉了),IP随便配,只要能正常通信即可。

Django开发-毕设-一、开启新项目

Django开发-毕设-一、开启新项目

    python版本:2.7.6

    Django版本:1.11.8

Django开发-毕设-一、开启新项目

    参考教程:https://code.ziqiangxuetang.com/django/django-tutorial.html

    安装软件过程省略,下面正式开始项目:

    第一步,切换到工作目录,以后的项目都放在这个目录中

root@ubuntu:~# cd python/django/

    第二部,使用命令开启新项目

root@ubuntu:~/python/django# django-admin startproject codeManageAndShare

        在使用了这个命令之后,就会在当前的目录下生成一个名字为“codeManageAndShare”的目录,这个就相当于开启了一个工程,然后这个工程里的每个项目叫做app。进入这个目录可以看到生成了很多的目录和文件,其中,有一个和工程名相同的目录,在这个目录中有很多的python脚本文件,其中使用最多的是settings.py和urls.py这两个文件,它们的功能分别是设置和URL导流,例如当需要设置哪些主机可以访问时要在settings.py中进行设置,当访问到来时,展示哪些东西,要在urls.py中进行设置。

    第三部,使用命令开启新app

        在建立了工程之后,要想实现具体的功能,就需要建立项目,建立项目需要使用当前工程目录下的“manage.py”脚本:

root@ubuntu:~/python/django/codeManageAndShare# python manage.py startapp app_selfPart

        这样就建立好了一个app(项目),根据名字可以看出,这个项目的功能是建立一个个人模块,当使用了命令之后,会在当前目录下生成一个名为“app_selfPart”的新目录,在这个目录中也会生成很多的脚本文件,其中使用最多的是“models.py”和“views.py”这两个脚本文件,功能分别是建立数据库和建立视图。

一些命令:

    运行服务端(端口随意指定,IP这样写是为了让所有IP均可访问,如果不带IP默认只有本地可以访问,还需要在codeManageAndShare目录中的setting.py中更改AllowHost(将参数改成“"*"”(有引号)即可)):

root@ubuntu:~/python/django/codeManageAndShare# python manage.py runserver 0.0.0.0:8000

    同步数据库(下面两条命令挨个执行一遍即可)

        提交更改,生成更改文件:

root@ubuntu:~/python/django/codeManageAndShare# python manage.py makemigrations

        将更改同步到数据库中:

root@ubuntu:~/python/django/codeManageAndShare# python manage.py migrate


个人的理解

        当服务端运行起来之后,即可在真实机上打开浏览器通过IP和端口号进行访问,访问的过程是通过浏览器发起访问请求,然后请求到达服务器监听的8000端口,然后“codeManageAndShare”中的“urls.py”根据“setting.py”开始起作用,根据“urls.py”中配置的类似于正则表达式的东西对请求的URL进行匹配,然后将请求送到匹配成功的app中的“views.py”中进行处理,在“views.py”中事先写好了一些函数,这些函数规定了对数据进行的处理,函数的参数就是请求的“request”,当处理完成之后,会有一个“return”语句来返回处理的结果,这个处理的结果,目前所知:

    1.渲染一个“templates”目录中的模板(return render(request,'selfPart.html'))(这个目录要自己在当前的app下建立,但是寻找的时候会自动的去这个目录中找),而渲染的过程可以使用函数将从数据库中取出的参数传进去(渲染时在模板中使用变量的方法是“{{var}}”)最后将渲染的结果通过return返回给请求;

    2.直接返回文字信息(return JsonResponse("一些文字",safe=False)),这个返回的文字直接可以在浏览器中看到;

    3.直接进行重定向(return  HttpResponseRedirect('/selfPart')),当访问此URL时进行处理,之后重定向到新的URL。

    对于数据库,上面提到了,使用每个app中的“models.py”脚本,在这个脚本中的内容大致如下图所示:

Django开发-毕设-一、开启新项目

        在上面这张图中可以看到和一般的数据库sql语言大不相同,我的理解是,Django对我们所熟知的sql语言进行了封装,将其转化为了这种类的方式,在这里使用变量的方式定义数据格式,然后就可以在其他脚本或命令行中使用命令来进行对数据库的处理,例如查找数据就可以直接使用“get”,Django在接收到这些命令之后,自动的将其转化为“select * from。。。”这样的sql语句传到数据库中执行。过滤就可以直接使用“filter”。使用这些函数之后的数据还是对象,在接下来的处理中更方便,这大大方便了我们的使用和开发。

        还有一个十分有用的功能就是用户的认证,当我们需要开发登录模块的时候,很大的时间要开发认证的部分,例如,一个私人的界面,不可以让一个没有登录的人访问,或者两个已经登录的人所看到的个人页面应该分别是他们自己的个人页面,类似这种的功能,Django已经替我们做好了,我们只需要在需要进行认证的app中的views.py脚本中添加修饰器即可,具体的后边会提到。



以上,都是我根据观察之后瞎编的!!!



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI