python + django 学习(一)
来源:互联网 发布:淘宝钻石展位展现位置 编辑:程序博客网 时间:2024/05/22 14:57
100.注意事项:
类名第一个字母大写。
init(self)方法是特殊方法,是类在创建的时候自动调用的,就是构造方法
这里的self和java中this是一样的
在init()中定义了别的别的属性,在该方法中注明self.属性=属性
def _init_(self,name): self.name=name
实力创建:实力名称=类名(属性)
dog=Dog(“tom”)
实例使用方法和java中的一样。
Python中的继承:
父类写到子类前,子类在继承父类是:
class Erha(Dog): def(self,name,age): super._init_(name) self.age=age
一个类中只能有一个_init()函数
101.django+python开发:
Python3.5 要对应django1.8版本以后的,否则兼容性有问题
卸载django的方法:
C:\Program Files\Python35-32\Lib\site-packages\Django-1.9.13-py3.5.egg
这个文件夹删除就可以了
django安装方法:
进入django目录下,可以看到setup.py,在cmd中写setup.py install即可
建立项目:
首先cmd进入你要创建的项目目录下,运行django-admin.py startproject projectname
启动项目:
启动项目是由manage.py完成的:
进入目录,可以看到manage.py,运行 Python manage.py runserver 0.0.0.0:8080
浏览器中输入localhost:8080即可看到最初的页面
创建数据库连接(app):
django-admin.py startapp appname
这个是这个项目的一个模块
- django中的页面语句:
拿去字典数值型:
{{hello}}
这里的hello是映射中的key,通过key拿到value。
条件判断:
{% if a and b %}{% endif %}或者:{% if a %}{% elseif %}{% else %}{% endif %}
循环输出:
#正想迭代<ul>{% for i in numbers %}{li>{{i.name}}</li>{% endfor %}</ul>
#反向迭代在for循环结尾加reversed{% for i in line reversed %}
#判断比较结果:{% ifequal a b %}{% else %}{% endifequals %}
#django 注释{# 注释 #}
#过滤器 这里的过滤器和java中过滤器该年不同java中过滤器是通过判断字符编码,url等是否符合规定,给予通过或者不通过Python过滤器则像一个规范,把东西按照自己想要的东西输出几种过滤器:{{变量|规则|规则...}}{{munber|lower} 把number输出小写{{number|first|upper}}变量number数值首字母大写{{number|truncatewords:"30"}}输出number的前三十个字符{{number|addslashes}}添加反斜杠到任何反斜杠、单引号或者双引号前面。{{data1:date:"F j,y"} 格式化时间,重点{{number|length}}返回number的长度
#include包含标签这个个人感觉和jsp中静态引用和动态引用类似{% include "a.html" %}
- Python-mysql的数据库驱动文件
http://download.csdn.net/download/hao930826/9604800
解压,进入主目录,执行setpu.py install
这是对于python3.5以上版本,因为,mysql暂时没有对他进行支持,知道3.4
版本带来很多的问题:
比如not such model ,没有该模块,一般报错是因为数据库连接出了问题。
在2.7之前,mysql连接用的是MySQLdb模块,到了3.0以后不再使用,而是pymysql。
但是Python代码任然会找员原来的MySQLdb。解决办法是,在intt.py 中添加:
import pymysql
pymysql.install_as_MySQLdb()
- 104.
# Django 1.7 及以上的版本需要用以下命令python manage.py makemigrationspython manage.py migratePerson.objects.all()Person.objects.all()[:10] 切片操作,获取10个人,不支持负索引,切片可以节约内存Person.objects.get(name=name)
get是用来获取一个对象的,如果需要获取满足条件的一些人,就要用到filterPerson.objects.filter(name="abc") # 等于Person.objects.filter(name__exact="abc") 名称严格等于 "abc" 的人Person.objects.filter(name__iexact="abc") # 名称为 abc 但是不区分大小写,可以找到 ABC, Abc, aBC,这些都符合条件Person.objects.filter(name__contains="abc") # 名称中包含 "abc"的人Person.objects.filter(name__icontains="abc") #名称中包含 "abc",且abc不区分大小写Person.objects.filter(name__regex="^abc") # 正则表达式查询Person.objects.filter(name__iregex="^abc") # 正则表达式不区分大小写filter是找出满足条件的,当然也有排除符合某条件的Person.objects.exclude(name__contains="WZ") # 排除包含 WZ 的Person对象Person.objects.filter(name__contains="abc").exclude(age=23) # 找出名称含有abc, 但是排除年龄是23岁的
- 105.
#'django.middleware.csrf.CsrfViewMiddleware', #解决post请求403就是注释掉
- Python.Django学习(一)
- python + django 学习(一)
- python-django学习(一)搭建环境
- Python django 入门学习系列(一)
- django学习(一)
- Django学习(一)
- 学习django(一)
- 学习Django(一)
- Python学习之路——django(一)
- python web框架Django学习(一)介绍篇
- Python+django开发(一)
- Python:Django项目( 一)!
- django学习教程(一)如何安装python django和基本的操作
- Django学习(一) 安装配置Django
- Python.Django学习(二)
- django学习笔记(一)
- django学习笔记(一)
- Django学习笔记(一)
- App Store 版本兼容性显示问题
- Play-akka-spark 错误 p.nettyException
- Failed to instantiate [org.springframework.data.domain.Pageable]: Specified class is an interface
- activiti5入门(六)容器
- php 上传文件
- python + django 学习(一)
- 为什么说AI创业不是4、5个人的团队就能搞定的事
- 本篇文章主要讲述的是angluar中如何运用路由来跳转页面
- POJ 1009.Edge Detection
- Jupyter Notebook:no module named....的解决策略
- Oracle查询语句
- 自定义toolbar和原生toolbar的比较
- Vue.js 2.0环境搭建(mac机系统环境)
- 进入公司后的,Java成长之路