首页 > 代码库 > Django note

Django note

参考:http://www.ziqiangxuetang.com/django/django-tutorial.html 笔记

1.Django结构

urls.py 网址入口,关联到对应的views.py中的一个函数,访问网址对应一个函数

views.py 访问用户发出的请求,从urls.py中对应过来,通过渲染templates中的网页可以将显示内容输出到网页

models.py 与数据库操作相关,存入或读取数据

forms.py 表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作

admin.py 后台

settings.py Django的配置,配置文件

templates文件夹 views.py中的函数渲染templates中的HTML模板,得到动态内容的网页,可以用缓存来提高速度。

2.Django命令

1)新建django Project:django-admin.py startproject project-name

2)新建app:python manage.py startapp app-name(一个项目有多个app)

3)同步数据库:python manage.py syncdb(Django 1.7.1及以上的版本需要用以下命令 python manage.py makemigrations python manage.py migrate)

当你在models.py中新增了类时,运行它就可以自动在数据库中创建表了,不用手动创建。

4)使用开发服务器 python manage.py runserver

5)清空数据库 python manage.py flush

6)创建超级管理员 python manage.py createsuperuser

修改用户名、密码 python manage.py changepassword username

7)导出数据 导入数据

python manage.py dumpdata appname > appname.json

python manage.py loaddata appname.json
8)Django项目环境终端 python manage.py shell
9)数据库命令行 python manage.py dbshell
10)Python manage.py 查看更多命令
3.Django视图与网址
网址写在urls.py文件中,用正则表达式对应views.py中的一个函数
新建项目 django-admin startproject mysite
mysite
├── manage.py
└── mysite
    ├── __init__.py python目录结构必须,与调用有关
    ├── settings.py 项目的设置文件
    ├── urls.py 总的urls配置文件
    └── wsgi.py 部署服务器时的文件
新建应用 python manage.py startapp learn
learn/
├── __init__.py
├── admin.py
├── models.py
├── tests.py
└── views.py
把新定义的app加到settings.py中的INSTALL_APPS(用来自动找到app中的模板文件app-name/templates/和静态文件app-name/static/,)
INSTALLED_APPS = (
    django.contrib.admin,
    django.contrib.auth,
    django.contrib.contenttypes,
    django.contrib.sessions,
    django.contrib.messages,
    django.contrib.staticfiles,
 
    learn,
)

定义视图函数(访问页面时的内容) 修改learn目录中的views.py

#coding:utf-8
from django.http import HttpResponse //用来向网页返回内容
 
def index(request): //第一个参数必须是request,与网页发来请求有关request变量里包含get和post内容
    return HttpResponse(u"hello world")

定义视图函数相关的url(即规定访问什么网址对应什么内容)

打开mysite/mysite/urls.py,修改

from django.conf.urls import url
from django.contrib import admin
from learn import views as learn_views  # new
 
urlpatterns = [
    url(r^$, learn_views.index),  # new
    url(r^admin/, admin.site.urls),
]

运行python manage.py runserver

打开浏览器,访问 http://127.0.0.1:8000/

 

Django note