Django安装及创建项目,创建应用和配置(在anaconda创建虚拟环境)

Django安装及创建项目,创建应用和配置(在anaconda创建虚拟环境),第1张

一、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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/941894.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-17
下一篇 2022-05-17

发表评论

登录后才能评论

评论列表(0条)

保存