Django介绍
- 版本推荐 1.11.11
- 下载方式
命令行:pip3 install django==1.11.11 // 通用 pip install 模块 == 版本号
pycharm下载:推荐换成国内源速度快
- 验证是否下载成功
django-admin // linux等系统可以能会出错,有的时候不是没安装上去的问题,直接定位到文件夹添加环境变量即可
创建django项目的方式
- 命令行创建
创建django项目
django-admin startproject 项目名
创建app应用
python3 manage.py startapp app01
启动django项目
python3 manage.py runserver
ps:用命令行创建django默认不会自动创建templates文件夹
需要你手动自己创建(注意改文件夹路径是否被添加配置文件中)
- pycharm创建
创建django项目
FILE >>> new project 选择第二个django 需要注意名字不能有中文,选择本地的解释器,勾选后台管理
创建app
第一种:
pycharm命令行创建,可以直接进入Django项目
python3 manage.py startapp app01
第二种:
Tools下面run manage task功能栏
startapp app01
启动方法:点小绿色箭头
强调:
1.用django一定要保证只有一个在运行状态 切记切记!!!!!!!
2.一定记得清浏览器的缓存
app(应用)的概念
- 一个django项目就是一所大学,app就是大学里面的学院,一个项目中可以有多个app
- 注意新创建的app需要在配置文件中注册才能生效
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01.apps.App01Config', # 这个地方写上我们创建的app 可以简写只写包名
]
Django中各个文件的作用
- 应用名app:
migrations 数据库迁移记录相关数据 数据库修改改动的时候会保存在这里面
admin.py django后台管理相关
models.py 模型表相关
views.py 视图函数相关
- 项目名
settings.py 配置文件
urls.py 路由与视图函数的映射关系
wsgi http拆包解包
- 主目录下
templates 项目用到的所有的html文件
manage.py django入口文件
配置文件的各个作用
"""
Django settings for ceshi project.
Generated by 'django-admin startproject' using Django 1.11.11.
For more information on this file, see
https://docs.djangoproject.com/en/1.11/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.11/ref/settings/
"""
import os
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 项目路径 = 当前文件的路径(当前文件路径的上一级文件路径)
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '(h-%mwaw%*[email protected]!z4#^7&b_c6h!=3t3!yr0r82z16='
# 通用密钥
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
# DEBUG模式可以调试bug
ALLOWED_HOSTS = []
# 允许访问的ip,不写的话都可以访问
# Application definition = 应用程序定义
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01.apps.App01Config',
]
# Django自带的七个app,自己创建app必须写入进去
# installed_apps. 已安装的app
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',
]
# middleware 中间键:相当于门卫任何进出都要经过它
ROOT_URLCONF = 'ceshi.urls'
# 主要用来处理请求的文件,找多对应的url执行
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
# 模版文件夹相关,这个地方要注意是否添加了存放html的文件夹
WSGI_APPLICATION = 'ceshi.wsgi.application'
# Django的内置服务器(例如 runserver)将使用的WSGI应用程序对象的完整Python路径。 django-admin startproject 管理命令将创建一个带有 application 可调用的简单 wsgi.py 文件,并将此设置指向该 application。
# Database
# https://docs.djangoproject.com/en/1.11/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Django连接mysql等等的数据库们可以修改
# Password validation
# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
# 校验使用,用于检查用户密码强度的验证器列表
# Internationalization
# https://docs.djangoproject.com/en/1.11/topics/i18n/
LANGUAGE_CODE = 'en-us' # 默认的语言
TIME_ZONE = 'UTC' # 默认的时区
USE_I18N = True # 一个布尔值,指定是否应启用Django的翻译系统
USE_L10N = True # 一个布尔值,指定是否默认启用数据的本地化格式。如果这被设置为 True, Django将使用当前语言环境的格式显示数字和日期。
USE_TZ = True # 一个布尔值,指定数据时间是否将是时区感知的默认或不。如果这被设置为 True,Django将在内部使用时区感知的数据时间
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.11/howto/static-files/
STATIC_URL = '/static/' # 静态文件,引用位于 STATIC_ROOT 中的静态文件时使用的URL。
django小白必会三板斧
from django.shortcuts import render,HttpResponse,redirect
- HttpResponse 返回给浏览器字符串
-
def index(request): return HttpResponse('你好')
- render 返回一个html页面
-
def reg(request): return render(request, 'reg.html')
- redirect 重定向
-
def login(request): return redirect('http://www.baidu.com')
俩种传递值给前端的操作
# 第一种: 把上面所有的变量都会传递给html
def reg(request):
user_dict = {'name': 'lmd', 'age': 18}
return render(request, 'reg.html', locals())
# 第二种:传指定的变量
def reg(request):
user_dict = {'name':'jason','password':'123'}
return render(request,'reg.html',{'user_dict':user_dict})
模版语法:
views:user_dict = {'name':'jason','password':'123'}
{{user_dict}} # 拿到的是一个字典{'name': 'jason', 'age': 22}
{{user_dict.name}} # 拿到的是name对应的值,不支持.get方式
原文地址:https://www.cnblogs.com/limengda/p/10982387.html
时间: 2024-11-12 13:32:34