Django学习笔记(精简版)
dos:安装:python setup.py install
环境变量:
D:\Python27;D:\Python27\Lib\site-packages\django\bin;
转到创建的目录:django-admin.py startproject mysite
python: import django
django.VERSION
(1,5,4,'final',0)
dos: cd mysite
python manage.py runserver
http://127.0.0.1:8000/
(python manage.py runserver 8080
python manage.py runserver 0.0.0.0:8000)
Template:当你运行命令:python manage.py shell,它将自动帮你处
理DJANGO_SETTINGS_MODULE。
当模板系统在变量名中遇到点时,按照以下顺序尝试进行查找:
字典类型查找 (比如 foo["bar"] )5
属性查找 (比如 foo.bar )
方法调用 (比如 foo.bar() )
列表类型索引查找 (比如 foo[bar] )
模板路径:settings.py
TEMPLATE_DIRS = (
'/home/django/mysite/templates',
)
最佳:
import os.path
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__),
'templates').replace('\\','/'),
)
t=Template(),c=Context(),
t.render(c)
or
t = get_template('current_datetime.html')
return HttpResponse(html)
return render_to_response('current_datetime.html',
{'current_date': now})
传值: 可以使用context 字典,也可以传入了
locals() 的值,它囊括了函数执行到该时间点时所定义的一切变量。
因此,我们将 now 变量重命名为 current_date ,因为那才是模板所预
期的变量名称。
模板继承:
{% extends "base.html" %}
{% block title %}The current time{% endblock %}
{% block content %}
<p>It is now {{ current_date }}.</p>
{% endblock %}
模型:
M ,数据存取部分,由django数据库层处理,本章要讲述的内容。
V ,选择显示哪些数据要显示以及怎样显示的部分,由视图和模板处理
。2
C ,根据用户输入委派视图的部分,由 Django 框架根据 URLconf 设置
,对给定 URL 调用适当的 Python 函数。
由于 C 由框架自行处理,而 Django 里更关注的是模型(Model)、模
板(Template)和视图(Views),Django 也被称为 MTV 框架 。在 MTV
开发模式中:
M 代表模型(Model),即数据存取层。 该层处理与数据相关的所有事
务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等
。
T 代表模板(Template),即表现层。 该层处理与表现相关的决定: 如
何在页面或其他类型文档中进行显示。
V 代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模
板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。
数据库配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add
'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'dj_testdb', # Or path to
database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': 'root',
'PASSWORD': 'molinker',
'HOST': '192.168.10.221', # Empty
for localhost through domain sockets or '127.0.0.1' for
localhost through TCP.
'PORT': '20036', # Set to empty
string for default.
}
}
检测配置:
>>> from django.db import connection
>>> cursor = connection.cursor()
cd mysite 模型Django app
python manage.py startapp books
models.py
from django.db import models
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website = models.URLField()
**def __unicode__(self):**
**return self.name**
模块安装:
INSTALLED_APPS = (
'mysite.books',
)
验证模型有效性:
python manage.py validate
打印sql
python manage.py sqlall books
生成sql
python manage.py syncdb
基本数据操作:
python manage.py shell
增:
Publisher.objects.all()
>>> from books.models import Publisher
>>> p1 = Publisher(name='Apress', address='2855 Telegraph
Avenue',
... city='Berkeley', state_province='CA', country='U.S.A.',
... website='http://www.apress.com/')
>>> p1.save()
改: p1.name = 'Apress Publishing'
多个:>>> p = Publisher.objects.get(name='Apress')
>>> p.name = 'Apress Publishing'
>>> p.save()
or >>> Publisher.objects.filter(id=52).update(name='Apress
Publishing')
查:Publisher.objects.filter(name='Apress')
排序: Publisher.objects.order_by("address")
连锁查询:>>> Publisher.objects.filter
(country="U.S.A.").order_by("-name")
删: 所以:Publisher.objects.all().delete()
部分:Publisher.objects.filter(country='USA').delete()
admin:站点管理:
1.setting的INSTALLED_APPS配置admin
2.确保MIDDLEWARE_CLASSES
3.之前没有加的要运行运行 python manage.py syncdb 。这一步将生
成管理界面使用的额外数据库表 提示创建超级用户如果第一次没创建可
以:python manage.py createsuperuser
4.修改URLconf 去掉admin的注释;
5.python manage.py runserver
6.将你的Models加入到Admin管理中
admin.py中
from django.contrib import admin
from mysite.books.models import Publisher
admin.site.register(Publisher)
Django学习笔记(精简版)的更多相关文章
- Git学习笔记-精简版
注意本文参考廖雪博客: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 一:Git ...
- Django学习笔记(一):环境安装与简单实例
Django学习笔记(一):环境安装与简单实例 通过本文章实现: Django在Windows中的环境安装 Django项目的建立并编写简单的网页,显示欢迎语与当前时间 一.环境安装 结合版本兼容性等 ...
- Django 学习笔记之四 QuerySet常用方法
QuerySet是一个可遍历结构,它本质上是一个给定的模型的对象列表,是有序的. 1.建立模型: 2.数据文件(test.txt) 3.文件数据入库(默认的sqlite3) 入库之前执行 数据库同步命 ...
- Django 学习笔记之三 数据库输入数据
假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介 ...
- Django学习笔记(五)—— 表单
疯狂的暑假学习之 Django学习笔记(五)-- 表单 參考:<The Django Book> 第7章 1. HttpRequest对象的信息 request.path ...
- Django学习笔记(三)—— 型号 model
疯狂暑期学习 Django学习笔记(三)-- 型号 model 參考:<The Django Book> 第5章 1.setting.py 配置 DATABASES = { 'defaul ...
- Django 学习笔记(二)
Django 第一个 Hello World 项目 经过上一篇的安装,我们已经拥有了Django 框架 1.选择项目默认存放的地址 默认地址是C:\Users\Lee,也就是进入cmd控制台的地址,创 ...
- Django 学习笔记(五)模板标签
关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/vi ...
- Django 学习笔记(四)模板变量
关于Django模板变量官方网址:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.传入普通变量 在hello/Hell ...
- Django 学习笔记(三)模板导入
本章内容是将一个html网页放进模板中,并运行服务器将其展现出来. 平台:windows平台下Liunx子系统 目前的目录: hello ├── manage.py ├── hello │ ├── _ ...
随机推荐
- UVA514 Rails
铁轨 PopPush城市有一座著名的火车站.这个国家到处都是丘陵.而这个火车站是建于上一个世纪.不幸的是,那时的资金有限.所以只能建立起一条路面铁轨.而且,这导致这个火车站在同一个时刻只能一个轨道投 ...
- 从有限状态机的角度去理解Knuth-Morris-Pratt Algorithm(又叫KMP算法)
转载请加上:http://www.cnblogs.com/courtier/p/4273193.html 在开始讲这个文章前的唠叨话: 1:首先,在阅读此篇文章之前,你至少要了解过,什么是有限状态机, ...
- MYSQL查询男女数量的存储过程
存储过程代码: BEGIN IF sex_id =0 THEN SELECT COUNT(*) FROM mybatis.p_user WHERE p_user.sex='女' INTO sex_co ...
- 合并多个excel工作簿
合并多个Excel工作簿,会出现电话号码以科学计数法显示,如果想要以字符串方式处理,要按如下完整代码 public static void mergeWorkBook() throws Excepti ...
- 自写图片遮罩层放大功能jquery插件源代码,photobox.js 1.0版,不兼容IE6
阿嚏~~~ 话说本屌丝没啥开发插件的经验,可是天公不作美,公司须要让我自己开发个图片放大的插件 但公司老大的话,宛如吾皇之圣旨,微臣必当肝脑涂地,莫敢不从啊~~~ 于是乎,作为一个超级小白,本人仅仅能 ...
- C语言随记-1
涉及指针.数组.函数指针 几种声明形式 int *a[5]; // a是一个有5个元素的数组,每个元素是整数类型指针(int *) int *a[] = {0x100, 0x104, 0x108, 0 ...
- javascript 模仿 html5 placeholder
<form action="?action=deliver" method="post" class="deliver-form"&g ...
- 后台js
Response.Write("<script>alert('该用户名不存在或密码错误或未参加教学活动,请重新输入!');history.back()</script> ...
- C# 窗体程序入门 之计算器
之前一直在java的B/S,这次被要求做一个C/S,其中客户端主要是界面和socket通信.因为没有使用过C#和Visual Studio的控件编程,先来个HelloWorld. 我的环境是visua ...
- 使用Flex 和 Red5开发简单视频直播功能
Flex 是一个高效.免费的开源框架,可用于构建具有表现力的 Web应用程序,这些应用程序利用Adobe Flash Player和Adobe AIR, 可以实现跨浏览器.桌面和操作系统.虽然只能使用 ...