用django写一个博客项目

拼搏现实的明天。 2022-02-24 20:18 354阅读 0赞

1.查询所有的文章,完成文章的展示列表页

(1)查询所有文章(views.py)

  1. def showType(request):
  2. #types = Type.objects.all() #查询所有的数据
  3. #types = Type.objects.filter(label="小说",id = 3) #安装条件查询
  4. #types = Type.objects.filter(label="动画片").first() #安装条件查询,返回第一条,没有返回None
  5. #types = Type.objects.get(id = 18) #直接获取单条数据,没有报错,get查询的条件必须唯一,一般用id
  6. #通常排序安装时间排序
  7. #types = Type.objects.order_by("id") #排序 相当于all
  8. #types = Type.objects.order_by("-id") #排倒序
  9. #types = Type.objects.filter(label="小说").order_by("-id")
  10. types = Type.objects.filter()[:3].order_by() #限制条数
  11. return render_to_response("showType.html",locals())

(2)将数据返回前端

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dfb3B0aW1pc3RpYw_size_16_color_FFFFFF_t_70

(3)前端调用循环渲染数据

newList.html

  1. {% extends 'base.html'%}
  2. {% block content %}
  3. <div class="dtxw box">
  4. {% if articles %}
  5. {% for article in articles %}
  6. <li>
  7. <div class="dttext f_l">
  8. <ul>
  9. <h2><a href="/new/{
  10. { article.id }}/">{
  11. { article.title }}</a></h2>
  12. <p>{
  13. { article.description }}</p>
  14. <span>{
  15. { article.time }}</span>
  16. </ul>
  17. </div>
  18. <div class="xwpic f_r"><a href="/new/{
  19. { article.id }}/"><img src="/static/{
  20. { article.picture }}"></a></div>
  21. </li>
  22. {% endfor %}
  23. {% else %}
  24. <p>抱歉,这家伙很懒什么都没有留下</p>
  25. {% endif %}
  26. </div>
  27. {% endblock %}

base.html

  1. {% load static %}
  2. <!doctype html>
  3. <html>
  4. <head>
  5. <meta charset="utf8">
  6. <title>{% block title %}个人博客模板古典系列之――江南墨卷{% endblock %}</title>
  7. <meta name="keywords" content="个人博客模板古典系列之――江南墨卷" />
  8. <meta name="description" content="个人博客模板古典系列之――江南墨卷" />
  9. <link href="{% static 'css/base.css' %}" rel="stylesheet">
  10. <link href="{% static 'css/main.css' %}" rel="stylesheet">
  11. <!--[if lt IE 9]>
  12. <script src="js/modernizr.js"></script>
  13. <![endif]-->
  14. <script type="text/javascript" src="js/jquery.js"></script>
  15. {% block style %}
  16. {% endblock %}
  17. </head>
  18. <body>
  19. <div id="wrapper">
  20. <header>
  21. <div class="headtop"></div>
  22. <div class="contenttop">
  23. <div class="logo f_l">个人博客模板古典系列之――江南墨卷</div>
  24. <div class="search f_r">
  25. <form action="/e/search/index.php" method="post" name="searchform" id="searchform">
  26. <input name="keyboard" id="keyboard" class="input_text" value="请输入关键字" style="color: rgb(153, 153, 153);" onfocus="if(value=='请输入关键字'){this.style.color='#000';value=''}" onblur="if(value==''){this.style.color='#999';value='请输入关键字'}" type="text">
  27. <input name="show" value="title" type="hidden">
  28. <input name="tempid" value="1" type="hidden">
  29. <input name="tbname" value="news" type="hidden">
  30. <input name="Submit" class="input_submit" value="搜索" type="submit">
  31. </form>
  32. </div>
  33. <div class="blank"></div>
  34. <nav>
  35. <div class="navigation">
  36. <ul class="menu">
  37. <li><a href="index.html">网站首页</a></li>
  38. <li><a href="#">关于我</a>
  39. <ul>
  40. <li><a href="about.html">个人简介</a></li>
  41. <li><a href="listpic.html">个人相册</a></li>
  42. </ul>
  43. </li>
  44. <li><a href="#">我的日记</a>
  45. <ul>
  46. <li><a href="newslistpic.html">个人日记</a></li>
  47. <li><a href="newslistpic.html">学习笔记</a></li>
  48. </ul>
  49. </li>
  50. <li><a href="newslistpic.html">技术文章</a> </li>
  51. <li><a href="#">给我留言</a> </li>
  52. </ul>
  53. </div>
  54. </nav>
  55. <SCRIPT type=text/javascript>
  56. // Navigation Menu
  57. $(function() {
  58. $(".menu ul").css({display: "none"}); // Opera Fix
  59. $(".menu li").hover(function(){
  60. $(this).find('ul:first').css({visibility: "visible",display: "none"}).slideDown("normal");
  61. },function(){
  62. $(this).find('ul:first').css({visibility: "hidden"});
  63. });
  64. });
  65. </SCRIPT>
  66. </div>
  67. </header>
  68. {% block content %}
  69. {% endblock %}
  70. <footer>
  71. <div class="footer">
  72. <div class="f_l">
  73. <p>All Rights Reserved 版权所有:<a href="http://www.yangqq.com">杨青个人博客</a> 备案号:蜀ICP备00000000号</p>
  74. </div>
  75. <div class="f_r textr">
  76. <p>Design by DanceSmile</p>
  77. </div>
  78. </div>
  79. </footer>
  80. </div>
  81. </body>
  82. </html>

2.根据列表页提供的id查询文章详情

(1)查询详情

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dfb3B0aW1pc3RpYw_size_16_color_FFFFFF_t_70 1

views.py

20190401212422195.png

(2)返回前端

new.html

核心代码

  1. <div class="about_box">
  2. <h2 class="nh1"><span>您现在的位置是:<a href="/" target="_blank">网站首页</a>>><a href="#" target="_blank">信息浏览</a></span><b>个人简介</b></h2>
  3. <div class="f_box">
  4. <p class="a_title">{
  5. { article.title }}</p>
  6. <p class="p_title"></p>
  7. <p class="box_p"><span>发布时间:{
  8. { article.time }}</span><span>作者:{
  9. { article.author.name }}</span></p>
  10. </div>
  11. <ul class="about_content">
  12. <p> {
  13. { article.content }}</p>
  14. <p><img src="/static/{
  15. { article.picture }}"></p>
  16. </ul>
  17. </div>

继承base.html

20190401212347122.png

3.项目监听本机所有ip

(1)修改pycharm配置

20190401212455914.png

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dfb3B0aW1pc3RpYw_size_16_color_FFFFFF_t_70 2

因为http协议默认端口是80,所以访问浏览器就不用写端口了,直接写ip即可

(2)修改settings.py配置

可以写自己的ip地址或者是 [“*“]

20190401212710468.png

4.效果

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dfb3B0aW1pc3RpYw_size_16_color_FFFFFF_t_70 3

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dfb3B0aW1pc3RpYw_size_16_color_FFFFFF_t_70 4

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dfb3B0aW1pc3RpYw_size_16_color_FFFFFF_t_70 5

发表评论

表情:
评论列表 (有 0 条评论,354人围观)

还没有评论,来说两句吧...

相关阅读

    相关 一个ai助手

    好的,我来为你介绍一下 AI 博客助手。 AI 博客助手是一种使用人工智能技术的博客软件,它能够帮助用户更快、更高效地写作,并且可以提供更深入的内容分析。 主要功能包括: