Django学习笔记(一)--总况
来源:互联网 发布:柚子理财软件下载 编辑:程序博客网 时间:2024/05/16 15:57
主要是来源于官方文档学习
http://django-chinese-docs-16.readthedocs.io/en/latest/index.html
主要记录我一个菜鸟的学习过程和总结,大牛绕行
- 创建项目
我是python3.3.5环境,环境安装过程前面有,使用pip安装了最新的Django1.10发现用不了(Python3.5支持),于是降级手动安装了Django1.6
cd 到django的bin目录下执行
Python3 django-admin.py startproject mysite
创建了项目 - 目录解读
mysite/ manage.py mysite/ __init__.py settings.py----项目的配置文件 urls.py---通过浏览器访问那个app,通过这个来找 wsgi.py---尚不知
运行项目
python3 manage.py runserver 0.0.0.0:8080
这样我们就可以通过IP访问,如果没有0.0.0.0则只能本机127.0.0.1的形式访问
其他机器访问记得关闭防火墙:iptables -F
访问方式http://IP:port创建app(应用)
app必须在项目下创建(mysite),一个项目可以有多个app,后面我们用到的admin也可以把它当作一个管理应用,但是管理应用默认创建,不需要我们手动创建了。app可以在不同的项目之间移植(尚未试验)
python3 manage.py startapp polls
生成下面目录:对目录还不了解没关系,后面会慢慢理解
polls/ __init__.py admin.py models.py---模型层,与数据直接对应 tests.py---测试程序,单元测试使用 views.py---显示层,个人觉得更像mvc模型里面控制层,templates则更像是表示层 urls.py---这个是自己创建的,后面有用到,和mysite里面的urls.py作用类似
- 激活模型
其实就是将对象和数据库里面的数据对应起来,描述可能有误。这里我们不用管数据的运行逻辑,也不用自己创建表,django都能根据我们的model创建数据库和表,类似于java的hibernate
第一步:
修改mysite/settings.py
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'polls',#把我们的项目加到这里面)
第二步:执行第二步之前,先编辑一下我们的model.py (往下看)
/mysite目录下执行
python3 manage.py syncdb
这一步会有很多提示,正常走下去就行了,设置好admin的用户名和密码,记得记住用户名和密码
python manage.py sql polls
执行后,发现创建了对应的表
BEGIN;CREATE TABLE "polls_poll" ( "id" integer NOT NULL PRIMARY KEY, "question" varchar(200) NOT NULL, "pub_date" datetime NOT NULL);CREATE TABLE "polls_choice" ( "id" integer NOT NULL PRIMARY KEY, "poll_id" integer NOT NULL REFERENCES "polls_poll" ("id"), "choice_text" varchar(200) NOT NULL, "votes" integer NOT NULL);COMMIT;
编辑model层
model层是数据逻辑层,即与数据库交互的作用,在django中我们只要关注medel.py (我还只是学到这就先这么理解吧)
编辑/polls/model.py
先不理解意思没关系,后面单独学。总之就是为了创建表,构建表结构
from django.db import modelsclass Poll(models.Model): question = models.CharField(max_length=200) pub_date = models.DateTimeField('date published')class Choice(models.Model): poll = models.ForeignKey(Poll) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default=0)
其他:要加上才是一个对象
def __str__(self): return self.choice_text
还可以加其他方法属性都是直接加到,poll类里面
def was_published_recently(self): return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
这些都是可以直接调用的
先到这里,还差view层,模板层,各自语法单独学习
- Django学习笔记(一)--总况
- django学习笔记(一)
- django学习笔记(一)
- Django学习笔记(一)
- Django学习笔记(一)
- django 学习笔记( 一)
- Django学习笔记(一)
- Django学习笔记(一)
- Django学习笔记(一)
- Django学习笔记(一)
- Django学习笔记(一)
- Django学习笔记(一)
- Django学习笔记(一)
- Django 学习笔记[一]
- Django 学习笔记一
- Django 学习笔记(一)
- Django 学习笔记<一>
- django学习笔记一
- 升级Struts2.5后使用DMI动态方法调用遇到问题
- 多年没写代码重操旧业的心情
- Material list of internet
- 在路上,走更远 ,我的2016
- SAP补提折旧-折旧的增加/减少
- Django学习笔记(一)--总况
- android 学习笔记2-logcat 内外部文件的存储 文件权限 xml读写
- javascript学习(十三)内建对象之String
- 周期性获取短信验证码
- C++中const与static使用的几个要点
- 魔幻数字
- 【opencv 官方教程】后续1 关于Mat CvMat IplImage
- app与php后台接口登录认证、验证(seesion和token)
- cuda occupancy