美文网首页
Django 路由设置和前端页面互相关联的方法高端网站定制

Django 路由设置和前端页面互相关联的方法高端网站定制

作者: a0f39b0b2030 | 来源:发表于2018-10-23 23:54 被阅读39次

    urls.py 文件

    urls.py 用以管理URL请求路径 与 响应函数关联

    from django.conf.urls import url # Django2.0 以前用 url 配置路由;

    # from django.urls import path # 2.x以后引入

    # from django.contrib import admin # Django默认的输出内容

    from BMS import views # 引入视图函数文件

    # 配置路由

    urlpatterns = [

        # url(r'^admin/', admin.site.urls),

        # psth('admin/',admin.site.urls), # Django 3.0 用path定义路由指向函数

        url(r'^$',views.index), # 配置网站的首页

        url(r'^book_list/',views.book_list),

    ]

    views.py 文件

    views.py 用以定义 urls.py 关联的函数。

    from django.shortcuts import HttpResponse,render,redirect

    # HttpResponse 返回字符串HttpResponse('返回内容')

    # render 返回指定的文件 render(request,'返回文件路径',{'定义文件可以处理的数据(key:val)'})

    # redirect 重定向到另一个页面。

    from BMS import models # 引入数据库模型,这里是 models.py 而不是 Django 的 models 模块

    # 定义页面的处理函数

    def book_list(request,year):

        bookList = models.Book.objects.all()

        name = 'Jsom'

        print(bookList)

        # return redirect('/') # 重定向到首页,配置首页为 “ r'^$' ” 。

        # return render(request,'book_list.html',locals()) # locals() 的使用,html文件中可获取到所有的局部变量,比如:“request、name、year”

        return render(request,'book_list.html',{'book_list':bookList})

    html文件

    对应 views.py 函数返回给浏览器的前端页面

    <table border="1">

        <thead>

        <tr>

            <th>id</th>

            <th>书名</th>

            <th>出版社</th>

        </tr>

        </thead>

        <tbody>

       <!-- 这里处理了 render 给html文件的参数 -->

        {% for  listItem in  book_list %}

            <tr>

                <td>{{ listItem.id }}</td>

                <td>{{ listItem.title }}</td>

                <td>{{ listItem.publisher.name }}</td>

            </tr>

        {% endfor %}

        </tbody>

    </table>

    <!-- 定义locals()后可以获取所有的局部变量 -->

    <div>{{ request.path }}</div>

    models.py 文件 

    models.py 用以建立数据库模型的文件

    类 --> 表   属性 --> 字段 类实例对象 --> 表记录

    from django.db import models # 这个 models 是Django建立数据库模型的

    # 每个类必须继承 models.Model方法

    # 出版社类

    class Publisher(models.Model):

        id = models.AutoField(primary_key=True)

        name = models.CharField(max_length=64,null=False,unique=True)

    # 书类

    微商城开发找上海捌跃网络科技有限公司

    class Book(models.Model):

        id = models.AutoField(primary_key=True)# 自增的ID主键

        title = models.CharField(max_length=64,null=False,unique=True)

        # 与出版社关联的字段 models.ForeignKey(to='关联外键的名称') 指定关联外键

        publisher = models.ForeignKey(to='Publisher')

    字段常用参数

    (1)null

    如果为True,Django 将用NULL 来在数据库中存储空值。 默认值是 False.

    (1)blank

    如果为True,该字段允许不填。默认为False。要注意,这与 null 不同。null纯粹是数据库范畴的,而 blank 是数据验证范畴的。如果一个字段的blank=True,表单的验证将允许该字段是空值。如果字段的blank=False,该字段就是必填的。

    (2)default

    字段的默认值。可以是一个值或者可调用对象。如果可调用 ,每有新对象被创建它都会被调用。

    (3)primary_key

    如果为True,那么这个字段就是模型的主键。如果你没有指定任何一个字段的primary_key=True,Django 就会自动添加一个IntegerField字段做为主键,所以除非你想覆盖默认的主键行为,否则没必要设置任何一个字段的primary_key=True。

    (4)unique

    如果该值设置为 True, 这个数据字段的值在整张表中必须是唯一的

    (5)choices

    由二元组组成的一个可迭代对象(例如,列表或元组),用来给字段提供选择项。 如果设置了choices ,默认的表单将是一个选择框而不是标准的文本框,而且这个选择框的选项就是choices 中的选项。

    YOU_NAME = (

     ('KK', 'Keke'),

     ('NA', 'NANS'),

     ('MM', 'MiMi'),

    )

    每个元组中的第一个元素,是存储在数据库中的值;第二个元素是在管理界面或 ModelChoiceField 中用作显示的内容。 在一个给定的 model 类的实例中,想得到某个 choices 字段的显示值,就调用 get_FOO_display 方法(这里的 FOO 就是 choices 字段的名称 )。

    运行命令创建数据库表

    Django 不能创建数据库,所以只能自己手动到 mysql 创建数据库,当然也可以通过 python 模块运行命令创建数据库。

    python manage.py makemigrations  [APP名称] # 将 models.py 中的模型记录在一个文件中,并将其存放在 migrations 文件夹下

    python manage.py migrate # 将 刚刚记录的语句写入数据库

    ---------------------

    作者:爱人BT

    来源:CSDN

    原文:https://blog.csdn.net/u011146423/article/details/82558397

    版权声明:本文为博主原创文章,转载请附上博文链接!

    相关文章

      网友评论

          本文标题:Django 路由设置和前端页面互相关联的方法高端网站定制

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