美文网首页
Django用法

Django用法

作者: c4a1d989518e | 来源:发表于2017-04-21 21:10 被阅读95次

首先是下载

建立工程文件,用过scarpy框架的对这个应该不会很陌生

django-admin.py startproject my_blog

为了方便查看我们用Django框架建立的my_blog文件,查看它的结构,所有用到tree来查看

brew install tree

tree my_blog

效果如图:

然后创建一个app,这里的app是指的一个功能模块,比如这里建立的app名称为article,负责的功能就是文章。可以有很多功能模块。

创建一个模块的命令是:

python manage.py startapp article

注意是在我们已经创建的my_blog目录下进行创建,需要先切换进目录。新建了还不行,还要通知给主文件my_blog,告诉它“我在这呢!”,所有需要在my_blog/my_blog/setting.py下添加新建app,在INSTALLED_APPS中声明。

Django中默认用的数据库是sqlite,这里sqlite数据库里的需要同步一下,每次新添加app,需要同步数据库。命令是:

python manage.py migrate


然后就可以成功启动了。启动的命令为:

python manage.py runserver localhost:9000

可以打开浏览器查看

接下来就是创建Models的了,Models在我的项目是干什么的,Models在我的项目里是用来决定我的项目中有什么的。Models在article目录下,决定的是这个article中的内容。

在article/models.py编写程序

可以看到代码里有title,有category,有date_time和content等,这些有什么用,我们先看下博客的成品。

这里的article就是title,time就是date_time,models中定义的content,点击文章就会进入详情页,里面就会有文章内容。面所有创建models中的内容的时候,就是创建这些页面中有什么的过程。

从成品来看,文章不止有一篇,而我们models如其名字,定义的是一个模板,但是文章有好几篇,这就有些类似淘宝了,文章就像是每个商品,需要商家来进行上架,我们的上架需要一个后台来进行上架操作,这就是一个后台管理界面,这个后台管理界面在Django中非常方便添加,我们创建项目时已经是默认有了,不信的话,可以去setting中的INSTALLED_APPS查看:

我们可以在浏览器中进入localhost:9000/admin,呈现的是一个登陆页面,账号哪里来呢?


需要我们自己创建:

python manage.py createsuperuser

输入邮箱和密码,不要以为是test项目就以为可以随便,密码设置这里也是有严格的要求的。

用账号密码登录,这时候进入后,是这样的管理界面

而我想要的是

我需要把我创建的Article这个app引入进来。如何引入?进入article/admin.py这个文件进行修改,其实从这个文件的名称来看,admin不就是我们管理的主页面的名称,这里的admin不是随便起的名字,每个app的admin文件都和主文件的admin有联系。

第一行与链接数据库有关;第二行和在article中导入models有关;第三行用于在主admin中注册Article。

接下来就是很重点的,处理客户端的访问了,访问某个页面,然后我们返回什么数据。也就是函数定义页面。函数处理的文件为article/views.py,这这里编写逻辑。

如喜闻乐见的Hello World

但是有一点需要说明的是,我们访问localhost:9000,得到的结果是

但是如果访问localhost:9000/ahdifj就会找不到页面,说明有一个地方是负责分配流量的,也就是指定页面的,不同的页面有不同的view文件来定义相应的页面。

这个分流的地方就是my_blog/urls.py

这里用正则表达式进行了匹配,来进行过滤,访问的是/的指定到views去,如果是/admin的就指定到admin的页面。

入门的先写到这,总结一下今天遇到的坑:

不要在一个terminal中进行所有操作,关闭Django,然后在重启,这样容易发生端口已经被占用,我们不用关闭,另外打开一个页面进行vim编辑就好了,编辑完了用:w保存一下,然后会自动进行编译。

查看端口占用情况的命令:lsof -i:端口号

killall+进程名

在admin登录报错的话,可能是没有同步数据库

之前在article中添加的文章,下面这一步相当于查询sqlite数据库的操作。

不要忘记这里和datetime的import。

然后是

点击read more

相关文章

  • Django简单用法

    Django是搭建框架的简单用法 在这里用下图简单介绍下Django用法

  • Django REST Elasticsearch

    基本用法 Django REST Elasticsearch提供了集成Django REST Framework和...

  • Django model select的各种用法详解

    《Django model update的各种用法介绍》文章介绍了Django model的各种update操作,...

  • Django的事务操作方法

    Django框架本身提供了两种事务操作的用法。(针对mysql) 从django1.6开始,Django的事务操作...

  • Django用法

    首先是下载 建立工程文件,用过scarpy框架的对这个应该不会很陌生 django-admin.py startp...

  • Django入门与实践

    1-1 课程介绍学习并掌握Django的基本用法了解Django的部分原理以及组件的含义可以独立使用Django进...

  • django教程--model教程之查询高级用法

    django教程--model教程之查询高级用法 上节教程我们了解了Django中model的基本使用,本节我们接...

  • 第20天,分页器

    本篇写了使用Django自有的分页器paginator的用法和自定制分页器 1.1 Django之分页功能 Dj...

  • 网站部署(二) MYSQL

    MYSQL 基本用法 在 django 项目 settings.py 修改 DATABASES 然后 执行 ...

  • 2018-03-14

    Django学习 Admin的用法 配置Admin Django中包含一个管理环境(主要是数据库管理),访问方法是...

网友评论

      本文标题:Django用法

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