首页 > 技术文章 > Django项目基础配置和基本使用

Vera-y 2019-09-09 16:10 原文

博文配置内容包括:

  1. django项目的创建
  2. django项目下应用的创建及配置
  3. 数据库的配置
  4. templates模板的配置
  5. Django项目的命令行启动

命令行创建项目:

  在需要的目录下创建Django项目输入命令:django-admin startproject mydjango_name

命令行创建app:

  1、进入mydjango_name下输入命令:Python manage.py startapp myapp_name

  2、创建完成后打开项目在pycharm下Terminal中输入命令:Python manage.py startapp myapp_name01  (新建Django的APP项目)

命令行启动django:

  python manage.py runserver

pycharm创建项目:

一、Django的相关配置

Django项目 setting 配置:

1.templates存放HTML文件的配置,(告诉Django去哪儿找我的HTML文件)

     'DIRS': [os.path.join(BASE_DIR,'templates')],  # 配置HTML文件存放的位置

 

字符串解释:

   os.path.join()  拼接目录结果:E:\py文件_django\mysite\templates

 

2. 静态文件(存放css/js/图片的文件)

在HTML中必须同步配置文件路径

 

 

3.注释掉setting.py中带有csrf的哪一行(防止csrf攻击,目前不用(但如果要做templates模块则不能注释掉这一行))

新建APP的Django项目后的配置

告诉Django新建了APP,在setting中(用命令行创建的时候才需要手动配置)

 注意:这里添加的配置不要放错地方了,否则会报错误信息:

django.core.exceptions.ImproperlyConfigured: WSGI application 'mydjango.wsgi.application' could not be loaded; Error importing m
odule. 让模块不能导入。

二、使用使用Django的ORM详细步骤:

  1.自己动手创建数据库

  2.在Django项目中的setting中设置连接数据库的相关配置(告诉Django连接哪一个数据库)

# DATABASES = {
#     'default': {
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
#     }
# }

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',   # 连接数据库类型
        'HOST': '127.0.0.1',  # 地址
        'PORT': 3306,  # 端口
        'NAME': 'python_mysql',    # 连接的数据库库名(需自己创建好的数据库)
        'USER': 'root',     # 数据库的用户名
        'PASSWORD': '123456'   # 密码
    }
}

            3.在项目的__init__.py中告诉Django用pymyql代替默认的mysqldb来连接数据库(因为Python3中不支持mysqldb)

import pymysql
# 告诉数据库用pymysql代替默认的mysqldb
pymysql.install_as_MySQLdb()

 

  4.在创建的App项目中(my_inn)中的medels中进行数据库的相关操作,定义一个类(建表),这个类必须继承models.Model

  5.按顺序执行两个命令

               1.   python manage.py makemigrations  

                             # 生成迁移文件:记录models.py的改动记录到my_inn/migrations文件夹下

               2.   python manage.py migrate   # 执行迁移文件:把改动翻译为sql语句去数据库执行

  执行完成后,就会在数据库中自动创建这个表

  不论是创建表,删除表,修改表,都是在类中修改后执行这两条语句(删除表是把创建的 删除后或者注释后在执行这两条语句)

推荐阅读