美文网首页零基础使用Django2.0.1打造在线教育网站
零基础使用Django2.0.1打造在线教育网站(三):Djan

零基础使用Django2.0.1打造在线教育网站(三):Djan

作者: 啃饼小白 | 来源:发表于2018-07-16 17:29 被阅读67次

    写在前面

    在前面的第二篇里,我们创建了一个名为djangoTest的项目,现在我们通过利用这个项目制作一个简单的留言簿来对django的基础知识进行一个回顾。
    笔记中本篇对应上传的仓库为:https://github.com/licheetools/djangoTest对应第三篇截止代码。

    知识目录


    在前面创建Django的时候,你会出现这样的目录结构,但是在运行命令manage.py runserver 8000之后,你会发现变成了下面这个样子:
    看到没,是不是多了一个db.sqlite3文件,这是因为你在运行的时候联接了已经存在的数据库,从而自动生成了一个sqlite3文件。 好,接下来介绍一下该目录树的结构以及各个节点文件的作用(为了更加清楚准确的介绍,我把这个结构树分为了6个部分):

    1、djangoTest: 这个djangoTest与2中的不一样,这是树的开始,也就是主目录;

    2、djangoTest: 这个djangoTest与1中的不一样,这是项目目录,记住主目录和项目目录名称是一样的,且在创建Django项目的开始时候确定;对于2中的文件介绍如下:

    --init--.py: 一个空文件,用于告诉计算机这是一个Python包;
    settings.py: 用于对项目的全局进行配置的文件(该 Django 项目的设置/配置);
    urls.py: 主要的urls配置入口(该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录");
    wsgi.py: 是Django启动的必须文件(一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目);

    3、templates:它的作用是放置静态的html文件

    4、db.sqlite3: 用于保存数据,开始没有,必须运行之后才有,且不固定,Django默认是sqlite数据库,但你也可以用MySQL,自然文件类型就发生改变了,但都是数据库文件。

    5、manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互(启动Django需要的主要文件,主要的Django命令都通过manage.py来运行)

    6、External Libraries:这是扩展包的入口(外部库存放地址)。

    上面只是project(项目),但是真正来实现各种不同功能的却是各种app(应用),下面我们来利用pycharm创建app。

    项目与应用

    你可能会有疑惑,我们之前都已经创建了djangoTest这个项目,为什么还要创建各种app应用呢?别急,我来告诉你其中的原因,我们以常用的手机软件微信来说明这个道理。你知道微信这个手机软件的名字对吧,其实这个名字就是一个项目,而且你还知道微信可以用来语音聊天,视频聊天,发图片,文字。。。等,这些不同的功能我们就称之为应用。现在明白了吧,不同功能的应用构成了项目。那么问题来了,我们如何利用Pycharm来创建app呢?

    利用Pycharm创建app

    第一步:在 Tools -> Run manage.py Task进入创建app的命令入口;



    第二步:在命令入口输入创建命令startapp appname,然后回车即可。

    你会发现生产了一个新的应用,而且目录树的结构发生了变化,多了这么一个东西:

    这个红色框里面的都是我们刚才创建liuyan这个app里面的文件,下面继续给大家介绍一下新目录树的结构和节点文件。

    1、migrations:它是一个Python包,里面目前只有--init--.py这个用于计算机识别这个包的空文件,这个包是用来存放数据迁移文件的,每次数据的变动,我们都需要更新数据库,否则会出错,更新的命令是makemigrations和migrate而且顺序不能对换!关于这一点,我后面还会继续说明,这里你只需要有一个大概的认识即可;
    2、admin.py: 用于身份验证;
    3、apps.py: app信息;
    4、models.py: 用于数据定义;
    5、tests.py: 用于app测试;
    6、views.py: 用于视图的创建。

    创建static文件夹

    当然我们的项目肯定不只有html,肯定还有javascript,css,图片等文件,所以我们需要创建一个static文件用于存放静态的文件。将鼠标移至djangoTest这个主目录上,右键new--> python package-->写入名字static回车即可!如图:

    创建log文件夹

    当然,我们还需要创建log文件夹,用来存放网站的日志文件,这是必不可少的。

    创建media文件夹

    与此同时,因为是Web应用,就必须有一个用于存放用户上传的图片,视频等资源文件夹。

    至此,web的文件夹都已经创建完成了。

    创建apps文件夹

    但是还有一个问题,正如你所知道的一个项目是由很多个app构成的,我们不可能每个app都直接放在项目根目录下,这样会导致我们的文件夹太多了,不利于管理,所以我们可以新建一个apps文件夹,用于存放各个app,这样就好看多了。然后将我们刚才新建的liuyan这个app拖入到apps这个文件夹里面,会自动生成一个init文件。

    不过这样做就是有一个坏处,就是我们在导入包的时候可能会出错误,我们需要每次在导入的时候前面加上apps.,这样太麻烦了,

    但是我有方法可以解决这个问题,往下看:

    我们可以在apps这个文件夹上面,右键拉到底部,看到Mark Directory as以后单击Sources Root即可,你会发现apps这个文件夹变成了蓝色(前面第一篇有介绍)。 其实这个方法不是很靠谱,因为你这样做只是让Pycharm知道文件放在哪了,要的时候去哪里找,但是如果你用dos命令去运行,还是因为找不到文件地址而报错的,因为它是根据settings.py来查找文件的。下面介绍另一种更完善的方法。

    在上面,os是用于输入输出的库,前面输出的是当前的项目主目录,后面输出的则是apps这个目录,我们这里采用os.path.join()函数来,将项目的绝对路径与apps进行拼接,返回一个新的地址。

    至此,前期准备我们做完了,接下来便是开始敲我们的留言簿代码了。有朋友问我如何利用Pycharm把代码直接分享(上传)到github 仓库,这里我简单介绍一下。

    利用Pycharm把代码直接上传到github 仓库

    在此之前,你的电脑需要安装git和你必须要有一个github账号,在这里我就不详细介绍这些了,直接开启传送大门,点这里。
    GitHub的注册与使用(详细图解)或者这个 GitHub账户注册
    ;git的安装和配置

    接下来的步骤看仔细了,前方高能,请坐好扶稳。
    1、点击左上角的File,选择Settings,然后选择Version Control,点击出现的GitHub,在出现的页面右上角选择Auth Type,选择password,然后输入你的github账号和密码,再点击下面的Test按钮Test连接是否正常,下面的Clone git repositories using ssh可以勾选一下,最后点击右下角的apply,然后ok一下就可以了。


    2、将鼠标移至左侧的Git,单击一下,然后选择git的路径之后,基本上点击右下角的apply,然后ok一下就可以了。
    放大一下,每个人的不一样,这是我的git安装地址:
    3、点击开始页面顶部的VCS,
    然后再点击出现的倒数第三个import into Version Control,再选择出现的最后一个Share project on github,再点击就出现一个窗口,填写你的项目名称,描述,点击share。弹窗让你选择需要上传的项目文件与commit信息输入之后,项目将会上传至github。登录你的github账号,你就会发现你的项目已经上传成功了。
    至此,关于Django的基本知识就先介绍到这里,下篇我将开始利用代码对留言簿这个小应用进行开发

    相关文章

      网友评论

      本文标题:零基础使用Django2.0.1打造在线教育网站(三):Djan

      本文链接:https://www.haomeiwen.com/subject/vgfbpftx.html