django开发流程2

一,通过视图函数访问html

1.首先导入render  

from django.shortcuts import render

2.在mysite下面创建一个目录 templates

3.在mysite下方的settings中修改存放模板的路径

二.添加静态文件

1.在mysite下面创建一个目录 (静态文件) :static

2.自定义静态文件路径

(1)在global_settings.py中找到

自定义静态文件路径

复制到mysite下方的settings

3.在静态文件中添加css, js, img等样式, 并且在index.html中引入静态文件

运行结果如下:

三,添加bootstrap样式

1.创建一个base.html 引入样式

2.引入完之后,需要修改里面css, js路径    

base.html

<!doctype html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->

    {% block title %}
      <title>轩哥小说网</title>

      {% endblock %}
{% block css %}


{% endblock %}


    <!-- Bootstrap -->
    <link rel="stylesheet" href="/static/js/bootstrap-3.4.1-dist/css/bootstrap.min.css">

  </head>

  <body>
  <div class="container-fluid">
    {% include 'base/header.html' %}
  </div>

    <div class="container">
    {% block body %}

    {% endblock %}
    </div>

    <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
    <script src="/static/js/jquery.min.js"></script>
    <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
    <script src="/static/js/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
    {% block js %}

    {% endblock %}
  </body>
</html>

3. header.html

<nav class="navbar navbar-default">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">小说网站</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="active" ><a href="/">首页 <span class="sr-only">(current)</span></a></li>
        <li><a href="#">推荐 </a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
      {% if not request.user.is_authenticated %}
        <li><a href="#">登录</a></li>
          <li><a href="#">注册</a></li>
        {% else %}
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
             aria-expanded="false">{{ request.user.username }}<span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">我的收藏</a></li>
            <li><a href="#">个人中心</a></li>
            <li><a href="#">修改密码</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">退出</a></li>
          </ul>
        </li>
        {% endif %}
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>

4.修改index.html

{% extends 'base/base.html'  %}


{% block title %}
<title>首页</title>
{% endblock %}


{% block body %}
    <h1>这里是首页</h1>
    {{ cs }}
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
              <!-- Nav tabs -->
              <ul class="nav nav-tabs" role="tablist">
                  {% for c in cs %}
                    {% if forloop.first %}
                <li role="presentation" class="active"><a href="#tab{{ c.id }}" aria-controls="{{ c.id }}" role="tab" data-toggle="tab">{{ c.title }}</a></li>

                    {% else %}
                <li role="presentation"><a href="#tab{{ c.id }}" aria-controls="{{ c.id }}" role="tab" data-toggle="tab">{{ c.title }}</a></li>

                    {% endif %}
                  {% endfor %}

              </ul>

              <!-- Tab panes -->
              <div class="tab-content">
                   {% for c in cs %}
                    {% if forloop.first %}<div role="tabpanel" class="tab-pane active" id="tab{{ c.id }}">
                    {% else %}
                <div role="tabpanel" class="tab-pane" id="tab{{ c.id }}">
                    {% endif %}
                    <ul class="list-group">
                        {% for b in c.book_set.all %}
                      <li class="list-group-item">
                          <a href="/detail/{{ b.id }}">{{ b.title }}</a>
                      </li>
                        {% endfor %}
                    </ul>

                </div>
                    {% endfor %}



                </div>
              </div>
        </div>
    </div>
{% endblock %}
        

5.detail.html

{% extends 'base/base.html' %}

{% block title %}
<title>小说网-详情页</title>
{% endblock %}

{% block body %}
<div class="container">
    <h1>这里是{{ book.title }}详情</h1>

</div>
<div class="panel panel-default">
    <div class="panel-heading">
        <h3 class="panel-title">{{ book.title }}</h3>
    </div>
    <div class="panel-body">
        {{ book.pub_date }}
    </div>
</div>

{% endblock %}



6.view.py

from django.http import HttpResponse
from django.shortcuts import render
from .models import Book, Category


def index(request):
    cs = Category.objects.all()
    return render(request, "./main/index.html", context={"cs": cs})


def detail(request, num):
    book = Book.objects.get(id=num)
    return render(request, "./main/detail.html", context={"book": book})


def about(request):
    return HttpResponse("关于我们")

Django是一个开发网页应用的框架,它采用了MVC(模型-视图-控制器)的设计模式,开发流程大致可以分为以下几个步骤: 1. 创建项目:使用命令行工具或者Django提供的命令行工具django-admin.py,创建一个新的Django项目。这将生成一个包含配置文件和初始文件结构的目录。 2. 定义模型:在设计数据库的同时,通过创建模型类来定义数据结构和关系。这些模型类可以映射到数据库表格。 3. 设计URL映射:在urls.py文件中定义URL模式,将每个URL请求与相应的视图函数关联起来。 4. 编写视图函数:在views.py文件中编写视图函数,实现对请求的处理,并最终返回相应的结果。 5. 创建模板:在templates目录下创建HTML模板文件,用于将视图函数返回的数据进行展示。 6. 设计表单:如果网页应用需要用户提交数据,可以使用Django提供的表单类来定义表单,并使用它们处理用户输入的数据。 7. 构建静态文件和媒体文件:静态文件如CSS和JavaScript文件,以及媒体文件如图像和视频文件,存放在static和media目录下。可以使用Django提供的功能来管理和发布这些文件。 8. 执行数据库迁移:通过运行命令python manage.py makemigrations和python manage.py migrate,将模型的更改应用到数据库中。 9. 运行服务器:使用命令python manage.py runserver,启动Django开发服务器,开始进行网页应用的测试和调试。 10. 部署到生产环境:进行网页应用的测试后,可以将项目部署到生产环境中,如配置生产数据库、设置静态文件的存储和使用Web服务器等。 总的来说,Django开发流程包括项目创建、模型设计、URL映射、视图函数编写、模板创建、表单设计、静态文件和媒体文件管理、数据库迁移、服务器运行和项目部署等步骤。通过按照这些步骤一步一步地进行开发,可以高效地构建出强大而稳定的网页应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值