Django之发布文章

      今天这个内容延续之前的项目,在之前项目上所做修改,假如我们要发布一个博客,那么我们肯定要先登录,登录后我们就会获取到登录的用户名和密码的session,我们在发布博客的时候将session传入过去,这样我们就知道是谁发布的博客了,首先我们得要创建一个发布博客的APP应用,获取到session后传入到发布博客里面去,这样就知道是谁发布的了

1.   先创建一个temp2的项目,命名都记得吧,先按快捷键Ctrl+alt+R,然后startapp temp2,就会出来我们的项目了

                                               

2.   然后在我们的Djangoproject容器中settings.py文件中加入我们的新建的这个temp2项目

                                    

记得前面一个项目后面要写逗号,因为这是一个列表,还有就是别加错地方了

3.   然后我们就要在容器中urls.py里面写链接的路径,并且给它个命名空间,因为在后面的views.py中重定向的时候会用上


在第31行里面我们要根据这个路由路径去访问我们temp2项目的urls.py,再来介绍下这个path里面的参数的各个含义,第一个箭头的意思是我们在通过浏览器访问时的路径,这个自己随意写,但不要和其它项目的路径重名,第二个箭头是通过include这个函数来访问到我们项目的urls.py文件,namespace的意思是我们给重定向的时候取的命名空间,取了命名空间后我们就可以在重定向时能够访问其它的网页,因为重定向时是用的redirect,不在是render,不能再直接写网页的路径

4.  创建好项目加了路径后我们就要要看temp2里面的内容了,要知道的是我们temp2项目里面是没有urls.py这个文件的,所以要自己创建,要通过这个urls.py来查找到views.py这个文件里面的函数


这里我们就直接把图片贴出来了,本来是先在view.py中先写函数,再来通过urls.py里面的path来查找的,但为了大家更方便的看到其中的连接,我就先把urls.py里面的内容给大家看下,第2行中我们要导入views.py里面的函数,这样path才能根据导入的函数知道有这个函数,第3行是命名空间,名字为‘fb’,原谅我英文不太好,只能拼音了,5、6行中写了两个path,这就说明我们在views.py中有两个函数,这里的path里面各个参数和容器里面的path是一样的,首先第一个是‘fabu’,这样我们在浏览器的链接里面写temp2/fabu,就是根据这个路径来查找的,一运行的话其根本就是运行fabu这个函数,这也是path的第二个参数,我们可以将鼠标放在这个参数上,按住Ctrl,然后点击一下,他就会调到views.py中的fabu这个函数里面去,这样可以帮助我们更快更好的查看这两个文件之间的关系,最后一个参数是name='fabu',这就是我们用到重定向的时候需要使用到的,因为我们在函数return时的参数不一样,不能直接来访问html,要通过函数来跳转。

5.  我们来看views.py里面的东西,其中我们要把该要导入的模块或者函数导入,这里也会使用到models.py,所以先来看下models.py里面的模块里面的内容


首先我们看下我们自己定义的函数,第一个字段是title 标题、content 内容、createTime时间,要说下最后一个字段了,这个字段的意思是我们将temp项目里面的models模块相关联,将这个字段设置为temp1.Zhuce字段的外键,我们在这里写了这个模板后接着来创建数据库表

6.   还是原来的操作,makemigrations temp2,这是生成数据库表的脚本,然后在temp2项目下面会有一个0001开头的文件,然后migrate temp2 0001,表明运行我们之前创建的脚本,接着数据库就会出现这个表,数据库还是之前的数据库,只不过下面多了一张表



7.  表也创建好了,我们来看views.py吧,首先看下要导入的文件,因为我们和temp项目里面的数据库相关联了,所以在第四行中要导入temp1.models模板


代码太多,所以分开解释,下面的是fabu函数,解释里面都有


后面还有个show函数


这里是views里面所有的代码,之间的调用都写清楚了,不想写太多注释,不懂的可以问我,

8.  然后再来看下返回时相应调用的HTML文件

   add.html


show.html: 这里讲我们在add.html里面写的标题和内容全部返回过来,并一定格式输出



9.  做好一切后可以来运行项目了,首先要先访问temp/login,登录后获取到session,然后在去访问temp2/fabu,将我们的博客发布出去,接着就会以show.heml页面显示出来




没错,就是这样,简简单单一波操作,做项目的话主要靠理解,先弄懂项目的调用步骤,再弄懂其中各个函数的调用和重定向,其实Django没我们想象的那么难。有不懂的欢迎大家来提问。



  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值