Django的常见命令
在Django的使用过程中需要使用命令让Django进行一些操作,例如创建Django项目、启动Django程序、创建新的APP、数据库迁移等。
下载
1. 命令行:
pip install django==1.11.23
pip install django==1.11.23 -i 源的地址
2. pycharm中下载
file——》 settings ——》解释器 ——》 点+号 ——》 输入django ——》 选择版本 ——》下载
创建项目
1. 命令行:
django-admin startproject 项目名称
2. pycharm:
file ——》 new project ——》 django ——》 输入项目的路径 ——》 选择解释器 ——》 写一个APP的名字 ——》 create
启动项目
1.命令行
切换进去到项目的根目录 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
2. pycharm
点击绿三角
配置静态文件
STATIC_URL = '/static/' # 别名 STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static') ] STATICFILES_DIRS = [ #按照列表的顺序进行查找 os.path.join(BASE_DIR, 'x1'), os.path.join(BASE_DIR, 'static'), os.path.join(BASE_DIR, 'x2') ]
目前提交post请求,settings中注释一个csrf 中间件
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', # 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]
app
新建app
python manage.py startapp app名称
注册app
在settings中
INSTALLED_APPS = [ 'app01', 'app01.apps.App01Config', # 推荐写法 ]
urls.py
urlpatterns = [ url(r'^index/', views.index), url(r'^home/', views.home), url(r'^login/', views.login), ]
views.py
from django.shortcuts import HttpResponse, render, redirect def index(request,): return HttpResponse()
HttpResponse('字符串') 返回字符串
render(request,'html文件名') 返回一个html页面
redirect(’重定向的地址‘) 重定向
form表单
form标签的属性 action ='' 提交的地址 method=’post‘ 请求方式 novalidate 不校验
input标签要有name 有些需要value
有一个类型为submit的input或者 button
get 获取一个页面
post 提交数据 数据隐藏
orm
使用mysql数据库的流程
1. 创建一个mysql数据库;
2. 在settings中配置数据库:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 引擎 'NAME': 'm_project', # 数据库名称 'HOST': '127.0.0.1', # IP 'PORT': 3306, # 端口号 'USER': 'root', # 用户名 'PASSWORD': '123' # 密码 } }
3. 使用pymysql模块连接mysql数据库。写在与settings同级目录下的__init__.py中
import pymysql pymysql.install_as_MySQLdb()
4. 写对应关系,在app下的models.py中写类(继承models.Model)。
class User(models.Model): username = models.CharField(max_length=32) # username varchar(32) password = models.CharField(max_length=32) # password varchar(32)
5. 执行数据库迁移的命令
python manage.py makemigrations # 记录下models.py的变更记录 python manage.py migrate # 变更记录同步到数据库
6. 对象关系映射