• 29、Python之Web框架Django入门


    一、Django入门

      1、Django的安装。django的安装和安装其他模块一样,我们找到python的安装目录的script目录,然后执行命令:pip3 install Django即可。安装完成后在script目录下有就会看到如下的django文件

    执行完这个命令后,将script目录添加到系统的环境变量,这时候,我们就可以在系统的任何目录执行Django的命令。下面我们来新建一个django的工程。

    创建成功后,我们首先了解一下django项目的目录结构。

      现在我们来启动一下项目,使用命令python manage.py runserver  127.0.0.1:8001。这里要注意的是,python需要配置环境变量,同时我们要进入到我们项目的根目录下执行,下面就是表示启动成功了,这时候我们访问http://127.0.0.1:8001/就可以访问我们的网站了、

      在pycharm中安装django就简单多了,看图操作4步解决。

      OK,安装完后,我们利用pycharm来创建一个django项目。

    创建完成后,我们看到项目的目录结构是:

    和我们在命令行创建的一模一样,只是多了个templates目录,这个是pycharm自己帮我们创建的,先忘记它,然后我们配置启动的信息,点击pycharm的启动按钮就可完成网站的启动。

       2、认识Django项目

      创建完django项目后,我们就要基于这个项目来开发自己的网站,下面我就来学习一下如何利用django完成一个登陆模块的开发。

    1、创建登陆模块。我们使用django的命令来创建登陆模块。python manage.py startapp login。生成的登录模块的结构如下:

    其中,migrations是用于数据修改表结构,admin是Django为我们提供的后台管理,apps配置当前的app,models 是我们写指定的类,通过命令可以创建数据库表,tests单元测试,views是业务代码。

    2、编写登录页面。下面我们就开始写我们的登录页面了,我们规定前端的html页面统一放到templates目录下,但是我这个人比较懒,不想自己写登录页面,然后我就从网上下了一个登陆的模板,文件结构如下:

    我们把index.html页面放在templates目录下,但是静态文件放在哪里呢?因此,我们需要新建一个static目录,然后把上面的三个文件夹全部放到static目录下。当然不要忘记修改index.html页面中引入的css,js的路径。

    3、创建映射关系。找到urls.py文件,在19行加入url和处理方法的映射关系。

    接着,我们需要在login目录的views模块中编写对应的login处理函数。我们就写一个将index.html的页面返回就好了。

    这样一来,当客户端请求http://127.0.0.1:8000/login的时候,就会进入views.login函数,而该函数是将index.html页面返回给客户端,因此客户端就能看到index页面了,好了,我们尝试启动一下项目,然后去访问http://127.0.0.1:8000/login,看看是否达到了我们想要的效果。

    正如我们所愿,可以访问index页面了,但是有个小问题,静态文件都报404,也就是说项目没有找到静态文件,这里我们还需要在配置文件seetings.py中增加静态文件的配置。

    添加完成后,重新刷新一下页面,就会得到你想要的页面了。

    4、实现前后台交互

      下面我们来实现登录的前后台交互,我们输入用户名密码然后点击登录,在form表单中,我将数据仍然提交到login页面。

    这样一来的话,在处理这个请求的时候我们就需要判断了,如果是以get请求过来的话,就返回登录页面,如果是以post请求的话就要校验用户名和密码是否正确,具体代码如下:(这里是后台从前台获取数据

    如果用户提交过来的用户名和密码错误,则应该要提示用户,即涉及到后台将数据传递到前台。具体语法应该是怎么样的呢?我们只要在上述的代码加入以下代码即可。

    前台在拿数据的时候,有一个基本语法:{{erro_msg}}表示取变量值,

    {%for....%}      

          ..............................

     {% endfor %}表示执行循环语法。看下面的使用:

  • 相关阅读:
    线程系列2---线程同步
    off() 方法 与 unbind() 方法移除绑定事件的处理程序。one()函数用于为每个匹配元素的一个或多个事件绑定一次性事件处理函数
    animation css3动画与CSS3 @keyframes担配使用创建往复平缓动画
    querySelector 和 querySelectorAll 的使用
    js实现浏览器兼容复制功能
    evaluateScript--evaluatePopoverScript--区别
    appcan 跨窗口处理方法 appcan.window.evaluateScript({name,scriptContent,type})使用解读
    条件注释判断浏览器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]>
    stop() 是用于停止动画 :animated 用于判断动画是否在进行中
    CSS3的calc()使用
  • 原文地址:https://www.cnblogs.com/win0211/p/9013244.html
Copyright © 2020-2023  润新知