Django开发笔记(一)

标签(空格分隔): Django Python


1. 创建并运行Django项目

  1. 创建开发环境 安装Django

    pip install django==version
  2. 执行创建工程的命令

    django-admin startproject projectname
  3. 修改 settings.py 文件里的配置数据库以及其他一些配置

  4. 执行数据库迁移命令

    python manage.py makemigrations
    python manage migrate
  5. 执行运行项目的命令

    python manage run server

2. 配置MySQL数据库

settings.py 文件中有一项默认配置,默认是sqllite3数据库,不需要配置用户名和密码,在此配置下执行数据库迁移命令时会在项目的根目录下出现一个名为db.sqlite3的文件,该文件就是sqlite的数据库文件。

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

现在将项目的数据库设置为MySQL,由于Django默认的是使用MySQLdb,而该哭目前还不支持python3,所以为了后期的版本升级我们采用pymysql来代替。

安装pymysql

pip install pymysql

修改与__init__py文件

import pymysql

pymysql.install_as_MySQLdb()

settings.py中进行MySQL配置

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'databasename', # 数据库名
'USER': 'root', # 用户名
'PASSWORD': '1234', # 密码
'HOST': '127.0.0.1', # 主机地址
'PORT': '3306', # 端口号
}
}

3. 设置模板目录

Django是 MTV 框架:M => Model,T => Templates,V => View。

在这里我们需要设置Django查找模板的路径。

一般我们都是在项目的根目录下创建一个名为templates的文件夹,里面放的就是模板文件。

然后我们需要告诉项目,在settings.py中配置。

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',
# 配置上下文media的处理器
'django.core.context_processors.media'
],
},
},
]

4. 配置静态资源文件路径

模板需要引用许多静态文件,如css、js、图片、字体等等。同样在项目根目录创建一个名为static的文件夹,将这些静态文件放在该文件夹下。

settings.py中配置

  1. 在开发模式下

    • 配置
    DEBUG = True
    ALLOWED_HOSTS = []
    STATIC_URL = '/static/'
    # 自定义静态资源路径 debug为true时才有效
    STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
    )
    • 使用

      在模板中使用
    {% load staticfiles %}
    <img src="{% static "my_app/myexample.jpg" %}" alt="My image"/>
  2. 在生产模式下

    • 配置
    DEBUG = False
    ALLOWED_HOSTS = ['*']
    STATIC_URL = '/static/'
    STATIC_ROOT = os.path.join(BASE_DIR, 'static')
    • 使用

      在模板中使用,再配合Nginx来处理 /static 的请求
    {% load staticfiles %}
    <img src="{% static "my_app/myexample.jpg" %}" alt="My image"/>

Django开发笔记(一)的更多相关文章

  1. Django开发笔记六

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.登录功能完善 登录成功应该是重定向到首页,而不是转发 ...

  2. Django开发笔记五

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.页面继承 定义base.html: <!DOC ...

  3. Django开发笔记四

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.邮箱激活 users app下,models.py: ...

  4. Django开发笔记三

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.基于类的方式重写登录:views.py: from ...

  5. Django开发笔记二

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.xadmin添加主题.修改标题页脚和收起左侧菜单 # ...

  6. Django开发笔记一

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.运行 python manage.py runser ...

  7. Django开发笔记之数据库的设计

    后台采用Django开发,可以体会到开发的便利之处,对于一个项目来说,首先最重要的是数据库的设计,那么在Django下数据库设计主要是如下步骤: 1,需求分析,这点子不用多说,而我也深刻体会到了没有原 ...

  8. Django开发笔记

    django基础之视图 1.在Django中网页前端的页面和其他内容都是由视图来传递的(视图对web请求进行回应)Django通过检查请求的URL(准确地说,是URL里域名之后的那部分)来选择使用哪个 ...

  9. django 开发笔记1

    1.布置到云服务器 使用 python3 manage.py runserver提示错误,需要将settings.py 中 ALLOWED_HOSTS 字典中加入 localhost;0.0.0.0; ...

随机推荐

  1. 前端通信:ajax设计方案(八)--- 设计请求池,复用请求,让前端通信快、更快、再快一点

    直接进入主题,本篇文章有点长,包括从设计阶段,到摸索阶段,再到实现阶段,最后全面覆盖测试阶段(包括数据搜集清洗),还有与主流前端通信框架进行对比PK阶段. 首先介绍一下一些概念: 1. 浏览器的并发能 ...

  2. es-02-elasticsearch安装及遇到的问题

    最近因为工作需要, 又使用到了es, 版本已经从当年的2.4 更新到了6.3 基本上解压即用, elasticsearch 5.x 版本, 在 centos6下, 很多性能不能够发挥, 建议 cent ...

  3. JavaScript对象Object

    <script> var obj = new Object(); var obj2 = {}; obj2.firstName = "wang"; obj2.lastNa ...

  4. 统计频率(map映照容器的使用)

    问题描述  AOA非常喜欢阅读莎士比亚的诗,莎士比亚的诗中有种无形的魅力吸引着他!他认为莎士比亚的诗中之所以些的如此传神,应该是他的构词非常好!所以AOA想知道,在莎士比亚的书中,每个单词出现的频率各 ...

  5. C# WebAPI设置跨域

    设置前端跨域请求很简单,只需要两个步骤 1.安装package Install-Package Microsoft.AspNet.WebApi.Cors 2.WebApiConfig类中,Regist ...

  6. Net Core 中间件实现修改Action的接收参数及返回值

    新一个WebApi项目(Net Core 2.1) 新建InputOutputAlterMiddleware类,修改命名空间为Microsoft.AspNetCore.Builder(不修改也没关系, ...

  7. [日常] PHP与Mysql测试kill慢查询并检验PDO的错误模式

    <?php try{ //1. pdo的错误模式,抛出异常,不记录到php的error日志,不影响代码继续运行, $opts=array( PDO::ATTR_ERRMODE => PDO ...

  8. JAVA-将内容写入文件并导出到压缩包

    取出数据库表中的内容写入到文件,并将所有文件写入到压缩包最终导出到指定的某目录下        //导出的压缩包格式  xxxx_date        Date currentTime = new ...

  9. JDBC、mybatis、hibernate连接数据库

    JDBC连接数据库五步骤: 一.加载驱动 Class.forName(“com.mysql.jdbc.Driver”); 二.建立连接 Connection conn = DriverManager. ...

  10. hadoop的namenode启动失败

    1.jps发现namenode启动失败 每次开机都要重新格式化一下namenode才可以 其实问题出现自tmp文件上,因为每次开机就会被清空,所以现在我们配置一个tmp文件目录. 如果之前没有配置过, ...