Django项目基础配置和基本使用
博文配置内容包括:
- django项目的创建
- django项目下应用的创建及配置
- 数据库的配置
- templates模板的配置
命令行创建项目:
在需要的目录下创建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项目)
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': '' # 密码
}
}
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语句去数据库执行
执行完成后,就会在数据库中自动创建这个表
不论是创建表,删除表,修改表,都是在类中修改后执行这两条语句(删除表是把创建的 删除后或者注释后在执行这两条语句)
Django项目基础配置和基本使用的更多相关文章
- Web框架之Django_02基本操作(Django项目启动配置、数据库连接、orm、增删改查)
摘要: Django项目简单现实过程 pycharm连接数据库 Django之orm简单操作增删改查 一.新建Django项目.配置.设置: 新建Django项目:(为了熟悉Django操作,暂时全部 ...
- 使用eclipse和maven创建activiti项目基础配置
项目组最近的项目使用到了activiti工作流,到处查找了一些资料后,初步完成任务.但是我所做的事只是在搭好的环境中调用接口和方法操作,因此自己尝试着也从搭建环境入手,以下是成功实现以后的记录. 实现 ...
- 荣誉墙项目day26 django 项目路由配置
项目路由配置文件包括:配置目录里的urls.py文件和各个app目录里的urls.py文件 1.include()——从项目主路由分配到各APP主路由 from django.conf.urls im ...
- Ubuntu中部署Django项目的配置与链接MySQL
Django的简介 MVT模式的介绍创建项目的虚拟环境 本次使用的是pip安装 一.更新 sudo apt update 二.安装pip sudo apt install python3-pip 三. ...
- Django项目settings配置redis连接
CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", &q ...
- django项目基础
D:\>django-admin startproject GodWork1 D:\>cd GodWork1 D:\GodWork1>python manage.py startap ...
- Django项目搭建和配置总结
安装和创建虚拟环境 参考:linux系统下Python虚拟环境的安装和使用 安装Django包 先进入虚拟环境,在联网下执行: pip install django==1.8.7 1.8.7表示dja ...
- Docker部署Django项目+Nginx+Fluend日志收集 和redis、memcached、RabbitMQ、Celery
前言 一.docker 1.docker是什么? Docker的英文本意是“搬运工”,Docker搬运的是集装箱(Container)可以成为容器,我可以把写的Django的WEB应用以及Python ...
- 学习VirtualEnv和Nginx+uwsgi用于django项目部署
以下叙述中用到的操作系统:Linux CentOS 6.X. 最近几天了解一下VirtualEnv,Apache+Daemon mode,Nginx+uwsgi的概念,并且在项目中实验性部署了一下(目 ...
随机推荐
- 剑指offer——38二叉搜索树与双向链表
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 题解: 在搜索二义树中,左子节点的值总是小于父节点的值,右子节点的值总 ...
- ImsConference.java中会议成员更新处理详解
public class ConferenceParticipant implements Parcelable { //自定义数据结构 private static final String ANO ...
- 高级UI晋升之触摸事件分发机制(一)
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680 0. 前言 鉴于安卓分发机制较为复杂,故分为多个层次进行讲解,分别为基础篇.实践 ...
- <人工智能>人工智能基础
问题1:扔下圆球的位置(feature特征变量)变化,最终掉落奖项(label结果标签)的变化 feature ----输入 f(x) ----模型,算法 label ----输出 大量已知的数据,训 ...
- jmeter-测试webservice接口
测试webservice接口(soap类型接口) 一.webservice协议的本质 一个经过封装的post类型的HTTP请求 Web service一般就是用SOAP协议通过HTTP来调用它,其实他 ...
- python生成阿里云云直播推流播流地址
申请一个阿里云账号,进入控制台,添加云直播工能,就可以获得相关数据, 直接上代码,阿里云接口文档https://cloud.tencent.com/document/product/267/7977 ...
- spring_入门配置和注入
Spring的获取容器: public static void main(String[] args) { //获取核心容器 BeanFactory延迟加载对象 ApplicationContext ...
- 框架集 frameset
框架集和内联框架的作用类似,都用于在一个页面中引入其他的外部的页面 框架集可以同时引入多个页面,而内联框架引入一个, 在h5标准中,推荐使用框架集,而不使用内联框架 使用 frameset 来创建一个 ...
- NX二次开发-创建图纸尺寸表达式抑制UF_DRF_add_controlling_exp
#include <uf.h> #include <uf_modl.h> #include <uf_drf.h> #include <uf_obj.h> ...
- [JZOJ 5861] 失意
思路: 求交集最大老套路,排序之后用堆维护即可. #include <bits/stdc++.h> using namespace std; const int mod = 1e9+7; ...