继续(一)的内容: 1-跨文件的Models 在文件头部import进来,然后用ForeignKey关联上: from django.db import models from geography.models import ZipCode class Restaurant(models.Model): # ... zip_code = models.ForeignKey(ZipCode) 2-field名字的约束 1)-不能是Python预留字 2)-不能有连续的2个下划线,例如foo__ba…
本例使用了django默认的sqlite3数据库,配置文件不需要作调整: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } 如果用其他数据库则需要修改配置文件,如使用mysql,并且建立了名为djangodb的数据库,在setting.py中修改: DATABASES = { 'default': { 'ENGIN…
目标:某条博客具体内容的展示,可返回博客主页面,可进行评论. 1. 编辑路由 一篇博客,要将其找出来,就需要有一个唯一的标识.Django 的模型中默认有一个唯一的且未自增长的主键,即 id 字段.我们可以以此为关键字来定位一篇博客.如何才能收到该关键字呢?这就要利用到带通配符的 URL 定义并使用圆括号把参数在 URL 模式里标识出来,而标识出来的内容就会以参数的形式传入到视图函数中. 编辑myblog/urls.py,新增内容: from blog.views import get_blog…
主页是一个“博客列表”页.博客要按发布时间的倒序来排列,每个博客都要包含标题.作者.分类.发布时间的显示(年-月-日 时:分)及节选的正文内容(前 100 个字).点击单独的博客可以进入其详情页. 1. 建立视图 视图就是所谓的 V 层,他负责分析并处理来自用户的请求,然后返回所需的结果.“博客列表”的视图显然是将数据库中的数据按需求中所需的发布时间的倒序取出,然后构造模板,最终将结果返回给用户. 编辑blog/views.py from django.shortcuts import rend…
1. 创建超级用户 python manage.py createsuperuser 创建过程中输入用户名,并设定密码(记住). 后台管理汉化.修改settings.py中LANGUAGE_CODE =’zh_Hans’  或者zh-hans 2. 配置应用 在应用下admin.py中引入自身的models模块(或里面的模型类) 编辑admin.py: admin.site.register(models.Article) from django.contrib import admin fro…
1. 什么是模型models Django中以创建类的形式来创建数据表. 在编写代码的过程中,所有对数据库的操作,都是对类和类的对象进行操作. ORM对象关系映射(Object relation mapping)实现了对象和数据库之间的映射,隐藏了数据访问的细节,不需要编写SQL语句,为开发提供了便利. 2. 创建表的语句(创建类class) 简单的博客表构造:1. Category分类(分类名称)2. Tag标签(标签名称)3. Blog博客(标题.作者.正文.发布时间.分类.标签)4.评论(…
1.创建project 方法1:使用命令行创建项目.在E盘cmd执行如下命令: django-admin.py startproject myblog 方法2:使用pycharm创建项目.放置位置为D:\myblog 2.创建app 方法1:使用命令行创建app,在E盘blog文件夹中cmd执行命令行创建. 方法2:在pycharm中用Terminal命令行创建. python manage.py startapp blog 3.添加app 修改settings文件,在INSTALLED_APP…
一.需求背景: django的models模块提供了很多数据字段的数据类型field,但是总有写奇葩需求不能依靠默认字段满足,所以需要自定义数据数据库数据字段类型.所有的自定义field应该在app路径下的fields.py文件里面定义. 二.自定义数据库数据类型字段: 1.知识点1->继承自filed类型 所以所有自定义类型都应该如下编写: from django.db import models class myfiled(models.Filed): pass 第一行引入继承的父类所在的m…
Django站点管理 十一转眼结束,说好的充电没能顺利开展,反而悠闲的看了电视剧以及去影院看了新上映的<心花路放>.<亲爱的>以及<黄金时代>,说好的劳逸结合现在回首看去,如果睡觉吃饭算是的话,那倒是挺多.是啊,十一过去了,也该收收心,开始准备过年了.啊,不对,准备工作.扯淡到此结束,接下来,开始学习Django的站点管理. 管理界面有一问题: 创建它太繁琐. 当你开发对公众的功能时,网页开发是有趣的,但是创建管理界面通常是千篇一律的. 你必须认证用户,显示并管理表格,…
从数据库获取数据后,对数据进行清洗 目标: 数据1,存放至session 中的数据 数据2,显示至前端的菜单数据 清洗数据: 1.session存放的数据:(menu_leaf_dict) 2.前端菜单数据(rasult) from app01 import models # 取用户角色 uname juese data = models.Juese.objects.filter(utoj__u__uname='xguo') # 获取当前用户角色的权限 uname_juese quanxian_…