1、Django目录结构:
urls.py:网址入口,关联到对应的Views.py中的一个函数,访问网址对应的函数。
views.py:处理用户发出的请求,从urls.py中对应过来,通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,数据,输出到网页。
models.py:与数据库操作相关,存入或读取数据时用到这个
templates文件夹:views.py中的函数渲染templates中的HTML模版,得到动态内容网页,可以用缓存来提高速度。
admin.py:后台,可以用很少量的代码就拥有一个强大的后台。
settings.py:Django的全局设置,配置文件,比如DEBUG的开关,静态文件的位置设置等
2、新建项目:
django-admin startproject pyqi
3、目录结构:
pyqi/
├── manage.py
└── pyqi
├── init.py
├── settings.py
├── urls.py
└── wsgi.py
pyqi/根目录只是项目的容器,它的名字与Django无关,可以将它重命名为任何任何名字
manage.py:一个命令行实用程序,可让你以各种方式与Django项目进行交互
pyqi:是项目的实际python包,它的名字是你需要用来导入任何内容的python包名
init.py:一个空文件,告诉python这个目录应该被视为一个python包
settings.py:这是Django项目的设置与配置,Django设置会告诉你有关设置如何工作的所有信息
urls.py:这是Django项目的URL声明
wsqi.py:WSGI兼容的Web服务器为你的项目提供服务的入口点
4、新建APP:
cd project_name #切换到项目目录下
python manage.py startapp app_name
或者
django-admin.py startapp app-name
5、创建数据库表或更改数据库表或字段:
在APP的models中建立类数据模版
生成配置文件 python manage.py makemigrations
根据配置文件生成数据库相关表 python manage.py migrate
6.清空数据库
python manage.py flush 此命令会把数据全部清空掉,只留下空表
7.创建超级管理员
python manage.py createsuperuser
python manage.py changepassword username 修改用户名和密码
8.导出数据和导入数据
导出数据:python manage.py dumpdata appname > appname.json
导入数据:python manage.py loaddata appname.json
9.查看更多命令
python manage.py


项目视图、网址、URL、模块、模型 简介
1.新建一个项目
django-admin startproject mysite
运行命令后新建了一个 mysite 目录,其中还有一个 mysite 目录,这个子目录 mysite 中是一些项目的设置 settings.py 文件,总的urls配置文件 urls.py 以及部署服务器时用到的 wsgi.py 文件, init.py 是python包的目录结构必须的,与调用有关
2.新建一个应用(app),名称叫leran
python manage.py startapp learn
app加到settings.py中的INSTALL_APPS中
新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件)
3.定义视图函数(访问页面时的内容
在learn app目录这个目录中,把views.py打开,修改其中的源代码,改成下面的
from django.shortcuts import render
from django.shortcuts import HttpResponse
def index(request):
return HttpResponse('ok')
4.定义视图函数相关的URL(地址)即规定访问什么网址对应什么内容
mysite 是项目 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),
url(r'^admin/', admin.site.urls),
url(r'^test/',learn_views.test,name='test') #为URL定义一个name,便于在templates文件中进行引用
]
link 应用名称为test的URL地址,方便后期的维护


Django模型(数据库)
Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中
1.在项目应用中的models.py文件中新建类,用来创建数据表
2.python manage.py makemigrations python manage.py migrate
class Add(models.Model):
task_id = models.CharField(max_length=128) #存储taskid
first = models.IntegerField() #存储第一个加数
second = models.IntegerField() #存储第二个加数
log_date = models.DateTimeField() #存储开始时间
class Meta:
db_table = 'celery_project_table' #指定表名