Django启动
django启动一般可以通过ide或者命令启动
ide启动:
启动命令:
python manage.py runserver
该命令后续可以增加参数,如:
python manage.py runserver 8081
python manage.py runserver 127.0.0.1:8082
注意:
用主文件启动是无效的,他不是java的springboot框架
配置
应用settings文件
-
manage.py启动
默认在manage.py中配置:
if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "firstdjango.settings")
-
手动指定配置文件位置
cmd命令启动如下:
python manage.py runserver 0.0.0.0:8000 --settings=firstdjango.settings
-
服务器部署启动
在wsgi.py中配置:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "firstdjango.settings")
常用配置项
import os """ 当前文件所在文件夹的上一级目录的绝对路径 切记2个 os.path.dirname """ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) """ 用于加密session,一个随机的字符串 这样生成: from django.core.management import utils utils.get_random_secret_key() """ SECRET_KEY = '=*f&bx760nyar7@8lb8!w$9h(3ea6p3apl$iua!td1q%-u5r4=' # 调试模式,可以看到错误的所有相信信息,部署时一定要修改为False DEBUG = True """ 允许访问的域名设置 开发环境不用理会 运行环境,配置 DEBUG = False后, 如果允许所有域名访问,则设置 ALLOW_HOSTS = ['*'] 如果指定某些域名可以访问,则设置 ALLOW_HOSTS = ['*.baidu.com'] """ ALLOWED_HOSTS = [] """ 应用的配置, 如:'polls.apps.PollsConfig' 如果没有 PollsConfig ,那么可以配置为 'polls' """ INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 只有 DEBUG = Ture 才有效 'polls' # 子应用必须配置,否则不起作用 ] """ 中间层配置 自己编写的 中间层 需要配置在最后 譬如: mymidlle.md.TestMiddleware """ 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', ] # 配置基础的urls ROOT_URLCONF = 'firstdjangopy.urls' # 配置模板 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', ], }, }, ] # 服务器部署的WSGI配置 WSGI_APPLICATION = 'firstdjango.wsgi.application' """ 数据库配置 mysql在python3的使用,需要在 __init__.py 中加入以下代码: import pymysql pymysql.install_as_MySQLdb() """ # DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), # } # } DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'django_test1', 'USER': 'root', 'PASSWORD': '123456', 'HOST': '127.0.0.1', 'PORT': '3306', } } """ 用户密码验证 """ 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', }, ] # 语言选择 , zh-Hans 为中文 LANGUAGE_CODE = 'en-us' # 时区 Asia/Shanghai 是中国时区 TIME_ZONE = 'UTC' # 国际化 USE_I18N = True # 本地化 USE_L10N = True # 使用时区,配套TIME_ZONE使用,必须设置为 False USE_TZ = False """ 静态文件的路径,默认是 static 如果在各自项目的static目录以外,还有目录存放静态文件,需要添加如下属性: STATICFILES_DIRS = ( os.path.join(BASE_DIR, "common_static1"), '/var/www/static/', ) """ STATIC_URL = '/static/'