Django 构建一个项目
一、创建django程序
终端命令:django-admin startproject fahaicmd
IDE创建Django程序时,本质上都是自动执行上述命令
其他常用命令:
python manage.py runserver 0.0.0.0:8000 ##启动项目
python manage.py startapp app01 #创建子项目
python manage.py syncdb ## 创建数据库,1.9 之前的版本有,
python manage.py makemigrations ##记录models.py的所有改动,并且将这个改动迁移到migrations这个文件下生成一个文件例如:0001文件,如果你接下来还要进行改动的话可能生成就是另外一个文件不一定都是0001文件,但是这个命令并没有作用到数据库。
python manage.py migrate ## 把这些改动作用到数据库也就是执行migrations里面新改动的迁移文件更新数据库,比如创建数据表,或者增加字段属性
python manage.py createsuperuser ##使用命令行创建默认超级用户
二、配置文件
django-admin startproject fahaicmd
python manage.py runserver 0.0.0.0:8000 ##启动项目
python manage.py startapp app01 #创建子项目
有数据库写好数据库目录 setings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
mysql类型:
DATABASES = {
'default': {
#'ENGINE': 'django.db.backends.sqlite3',
#'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE':'django.db.backends.mysql',
'NAME':'deng',
'user':'root',
'PASSWORD':'xxx',
'HOST':'locahost',
'PORT':'3306',
}
}
模板路径修改
创建的应用,都需要加入到APPS,例如:app01
模板文件路径:
静态文件路径
禁用crf安全认证功能
三 , 创建基础目录
static Templates
四、目录结构
路由系统
1、Django请求生命周期
-> URL对应关系(匹配) -> 视图函数 -> 返回用户字符串
-> URL对应关系(匹配) -> 视图函数 -> 打开一个HTML文件,读取内容
路由对应关系
1,单一路由对应
url(r'^index$', views.index),
2、基于正则的路由
1 url(r'^index/(\d*)', views.index),
2 url(r'^manage/(?P<name>\w*)/(?P<id>\d*)', views.manage),
3、添加额外的参数
1.url(r'^manage/(?P<name>\w*)', views.manage,{'id':333}),
4、为路由映射设置名称
1 url(r'^home', views.home, name='h1'),
2 url(r'^index/(\d*)', views.index, name='h2'),
1、单一路由对应
from django.conf.urls import url
from app01 import views
urlpatterns = [
url(r'^hello/$', views.hello),
]
2.视图函数
from django.shortcuts import render,redirect
from django.http import HttpResponse
def hello(request):
# return HttpResponse("Hello world !")
return render(request, 'test.html',)
3. 打开一个HTML文件,读取内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<body>
<h1> test 1 </h1>
</body>
</html>
访问URL链接
http://127.0.0.1:8000/hello/