Django创建详解
初始化文件夹 自动创建 名字为项目名
-
对整个程序进行配置的文件夹
-
init文件夹
一个空的文件,告诉python这个目录是python包
-
setting.py中设置
-
项目配置文件
1 ALLOWED_HOSTS = [’*’]
2 INSTALLED_APPS=[] 中注册应用 添加命令创建的项目名 声明这个文件夹是一个app应用
3 ROOT_URLCONF =‘项目名称.urls’
4 修改时区和语言
LANGUAGE_CODE = ‘zh-Hans’ 修改为中文
TIME_ZONE = ‘Asia/Shanghai’ 修改时间 亚洲/上海
5 在最后一行
STATIC_URL = ‘/static/’BASE_DIR 是项目的绝对地址
STATIC_ROOT = os.path.join(BASE_DIR, ‘collect_static’)
以下不是必须的
STATICFILES_DIRS = (
os.path.join(BASE_DIR, ‘common_static’),
)
-
-
urls.py中设置
-
url对应关系(路由)
path(‘链接后缀/’,逻辑页.视图函数)
-
-
wsgi
-
遵循wsig规范,uwsgi +nginx
“”"
WSGI config for django_test project.It exposes the WSGI callable as a module-level variable named
application
.For more information on this file, see
https://docs.djangoproject.com/en/2.0/howto/deployment/wsgi/
“”"import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault(“DJANGO_SETTINGS_MODULE”, “django_test.settings”)
application = get_wsgi_application()
-
创建项目文件夹 代码创建 名字为项目名_app
利用命令 python manage.py startapp 文件夹名
-
创建迁移文件夹 migrations
- Django通过migrations命令将Models中的任何修改写入到数库中,比如:新增加的模型或修改已有的字段等。
- 数据迁移、移植文目录,记录数据库的操作记录,内容自动生成
- init.py声明这是一个python包
-
-
数据模块化 数据库在此设计
from django.db import models
-
-
创建配置文件 app.py
-
对应应用的配置文件
from django.apps import AppConfig
class 变量名 项目名_AppConfig(AppConfig):
name = ‘项目文件夹名’
-
-
-
自动化测试模块 内可编写测试脚本自动化测试
from django.test import TestCase
#Create your tests here.
-
-
-
视图文件,用来执行响应代码,写逻辑
from django.http import HttpResponse
def 变量名(request):
return HttpResponse(’’)
而后在urls.py里
from 项目app名 import views
path(’’,views.视图函数名)
-
django中的一些常用命令
创建项目
1 新建项目 django-admin.py startproject 项目名
2 新建app python manage.py startapp app名
3 启动项目 python manage.py runserver 端口号
同步或者 更改 生成数据库
1.生成数据库同步脚本 python manage.py makemigrations
2 数据库迁移 python manage.py migrate
3 清空数据库 python manage.py flush
创建管理员 修改用户密码
1 创建root python manage.py createsuperuser
2 修改user密码 python manage.py changepassword 用户名
Django项目环境终端
-
这个命令和直接运行python进入shell的区别是: 在这个shell里可以调用当前项目的models.py中的api 对操作数据的测试非常方便
1 python manage.py shell
-
更多数据输入 python manage.py 查看
例子 —— hello world
-
views.py中
from django.shortcuts import render
from django.http import HttpResponsedef hello(request):
return HttpResponse(‘Hello world , Hello Django’)
#Create your views here. -
urls.py中
from django.contrib import admin
from django.urls import path
from 项目名 import viewsurlpatterns = [
path(‘admin/’, admin.site.urls),
path(’’, views.hello),]
-
Terminal中输入
python manage.py runserver 127.0.0.1:5000