一、Django下载

1.创建虚拟环境

conda create -n 环境名 python=版本号(3.7)


2.进入创建的虚拟环境
 

conda activate 环境名


3.安装Django
  

  pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ Django==2.2.3
二、Django项目

1.创建项目
  

 django-admin startproject 项目名

注:在哪里创建了项目就会在哪里生成一个项目文件夹


2.创建应用


    (1)进入项目

cd 项目名


    (2)创建应用

 python manage.py startapp 应用名


    (3)打开 应用名/views.py,把下面代码输入进去
  

 from django.http import HttpResponse


    def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")


    (4)在 应用名的文件夹里面 里面创建一个urls.py文件,写如下代码

 from django.urls import path
    from . import views

    urlpatterns = [
        path('', views.index, name='index'),
    ]


    (5)在 项目名/项目名/urls.py 文件

  • 将from django.urls import path换为from django.urls import include, path
  • 将urlpatterns = [path('admin/', admin.site.urls),]换为urlpatterns = [

    path('应用名/', include('应用名.urls')),
    path('admin/', admin.site.urls),
]

三、配置开发环境


1.新建配置文件


(1)准备配置文件目录:在项目名/项目名中新建包settings

  •     在项目名/项目名中创建一个settings文件夹
  •     创建一个将项目名/项目名中的_init_.py文件拷贝到项目名/项目名/settings文件夹中


(2)在项目名/项目名/settings文件夹中创建dev.py文件,并将项目名/项目名中的settings文件内容拷贝到dev.py文件中,并删掉settings文件


(3)打开manage.py文件


    把os.environ.setdefault('DJANGO_SETTINGS_MODULE', '项目名.settings')改为os.environ.setdefault('DJANGO_SETTINGS_MODULE', '项目名.settings.dev')


2.配置jinja2模板


(1)安装jinja2扩展包

   pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ jinja2


(2)配置jinja2环境

  •     打开项目名/项目名/settings/dev.py文件将TEMPLATES里内容换为
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        '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',
            ],
        },
    },
    # Jinja2模板引擎配置信息
    {
        'BACKEND': 'django.template.backends.jinja2.Jinja2',
        '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',
            ],
            # 补充Jinja2模板引擎环境
            'environment': '项目名.utils.jinja2_env.jinja2_environment',
        },
    },
]
  •     在项目名/项目名中创建一个utils文件夹,并将项目名/项目名中的_init_.py文件拷贝到项目名/项目名/utils文件夹中,并创建jinja2_env.py文件
  •     在jinja2_env.py文件中输入如下代码
from jinja2 import Environment
from django.urls import reverse
from django.contrib.staticfiles.storage import staticfiles_storage
def jinja2_environment(**options):
    """jinja2环境"""
    # 创建环境对象
    env = Environment(**options)
    # 自定义语法:{{ static('静态文件相对路径') }} {{ url('路由的命名空间') }}
    env.globals.update({
        'static': staticfiles_storage.url,   # 获取静态文件的前缀
        'url': reverse,               # 反向解析
    })
    # 返回环境对象
    return env


3.配置MySQL数据库


(1)打开项目名/项目名/settings/dev.py文件,将DATABASES=[]内容改为

DATABASES = {
    'default': {
        #'ENGINE': 'django.db.backends.sqlite3',
        #'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE':'django.db.backends.mysql',
        'HOST':'127.0.0.1',    
        'PORT':3306,
        'USER':'root',        #用户名
        'PASSWORD':'123456',    #密码
        'NAME':'sy3'                #数据库名字
    }
}


(2)在项目名文件夹中安装PyMySQL扩展包

    pip install PyMySQL


(3)卸载pymysql

   pip uninstall pymysql


(4)安装mysqlclient

pip install mysqlclient


    如报错参考https://blog.csdn.net/lpw_cn/article/details/90322515


四、运行

  python manage.py runserver


    如报错name '_mysql' is not defined参考https://blog.csdn.net/m0_47970692/article/details/114106262
    如报错AttributeError: 'str' object has no attribute 'decode'参考https://blog.csdn.net/weixin_49509128/article/details/111570928