django 项目创建流程
1 创建项目
cmd django-admin startproject 项目名称
pycharm file -- new project -- Django -- 项目名字 -- 选择解释器 -- 输入app名称 -- 创建
2 启动项目
cmd **
切换到项目根目录下 manage.py
python manage.py runserver #127.0.0.1:8000
python manage.py runserver 80 # 127.0.0.1:80
python manage.py runserver 0.0.0.0:80 # 0.0.0.0:80
pycharm **
配置 点绿三角
3 urls.py -- 地址和函数的对应关系
from django.conf.urls import url
from app01 import views
urlpatterns = [
url(r'^login/', views.login),
url(r'^index/', views.index),
url(r'^test/', views.test),
]
4 函数 def func(request): 接收一个参数 request 跟请求有关
request.method 请求方式 GRT POST 类型字符串
request.POST form表单提交POST请求的数据 类型(类字典 Query DICT) {} 取值用get()不报错
request.GET url 上的参数 类型{同上}
返回值
from django.shortcuts import HttpResponse(str),render(页面),redirect(跳转页面)
HttpResponse('显示的内容') --> str #HttpResponse('ok')
render (request,'html文件名') --> 一个完整的html页面 #return render(request, 'index.html')
'DIRS': [os.path.join(BASE_DIR, 'temp')]
redirect('/要跳转的地址') -->重定向 # return redirect('/pubs/')
5 app 帮我们规范写法 可以多个app 功能分类
创建app
cmd python manage.py startapp app名称
pycharm tools ——》 run manage.py task ——》 startapp app名称
注册app
settings.py -->
INSTALLED_APPS = [
'app01',
'app01.apps.App01Config', #推荐
]
6 配置文件
静态文件
STATIC_URL = '/static/' # 别名
settings.py -->
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static'),
]
7 模板 TEMPLATES
settings.py -->
TEMPLATES
'DIRS': [os.path.join(BASE_DIR, 'templates')]
中间件:
注释掉 'django.middleware.csrf.CsrfViewMiddleware' #取消一个Django 报警403界面改变
8 form 表单
1. action=‘’(向当前地址提交) method='post' action 提交的地址 method提交的方式(默认get)
2. 所有的input标签要有name属性
3. 要有一个type=submit input标签 或者 button按钮
9 get和post区别
get获取一个页面 没有请求体
提交数据 地址?k1=v1&k2=v2
django如何获取 request.GET('键')
post 提交数据 一般不可见 url不显示
django 如何取值 request.POST('键')
一个项目结构
*mydjango
*app
*migrations
admin.py
apps.py 里 from django.apps import AppConfig
class App01Config(AppConfig):
name = 'app01'
models.py 里 from django.db import models
class 类名(models.Model):
字段 = models.AutoField(约束)
字段 = models.CharField(约束) varchar()
def __str__(self):
return self.name
terminal 里
python manage.py makemigrations # 保存models变更记录
python manage.py migrate # 把变更记录同步到数据库中
python manage.py migrate app01--fake 伪装检测
views.py 里
from django.shortcuts import render, redirect, HttpResponse
from app01 import models
def func(request):
return .....
*mydjango
__init__ 里 import pymysql
pymysql.install_as_MySQLdb()
settings 里 INSTALLED_APPS MIDDLEWARE(注释中间件) TEMPLATES ('DIRS': [os.path.join(BASE_DIR, 'templates')])
DATABASES(数据库参数配置) STATIC_URL
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
urls 里 from app01 import views urlpatterns = [r'^publisher/', views.publisher ]
*static
*css
*js
...
*templates
模板.html
----前置* 说明此处是文件夹 ---