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. 全网最详细的Hadoop HA集群启动后,两个namenode都是standby的解决办法(图文详解)

    不多说,直接上干货! 解决办法 因为,如下,我的Hadoop HA集群. 1.首先在hdfs-site.xml中添加下面的参数,该参数的值默认为false: <property> < ...

  2. Python基础之好玩的字符串格式化之类C风格

    今天白月黑羽和大家说说字符串格式化,在python3中,字符串格式化主要有2种方法,今天先和大家介绍类C风格的printf. printf 风格 这种方式 和 传统的C语言printf函数使用一样的格 ...

  3. 作用域中LHS查询和RHS查询

    LHS查询:赋值操作左侧的查询,LHS查询试图找到变量的容器本身,,从而对其赋值. RHS查询:赋值操作右侧的查询,可以理解为"取到某某的值" 举例: function foo(a ...

  4. 和我一起打造个简单搜索之ElasticSearch入门

    本文简单介绍了使用 Rest 接口,对 es 进行操作,更深入的学习,可以参考文末部分. 环境 本文以及后续 es 系列文章都基于 5.5.3 这个版本的 elasticsearch ,这个版本比较稳 ...

  5. mysql使用pdo简单封装select语句

    最终代码: function pdo_array_query($pdo, $table_name, $data, $fields=array('*')){ //Will contain SQL sni ...

  6. 类的静态(Static)成员——字段

    定义一个雇员类: namespace StaticFieldTest1 { class Employee { public int Id { get; set; } public string Fir ...

  7. Spring配置文件引入xml文件: <import resource=" " />标签使用总结

    引入其他模块XML 在Spring的配置文件,有时候为了分模块的更加清晰的进行相关实体类的配置. 比如现在有一个job-timer.xml的配置 <?xml version="1.0& ...

  8. 【LeetCode题解】19_删除链表的倒数第N个节点(Remove-Nth-Node-From-End-of-List)

    目录 描述 解法:双指针 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解笔记可以访问我的 github. 描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回 ...

  9. @Html.Raw() 与Newtonsoft.Json.JsonConvert.SerializeObject()

    一.后台 ViewBag.TypeList = typeList; 二.前台C# @{     var typeListFirst = ViewBag.TypeList;} 三.前台js中 var t ...

  10. [android] 切换按钮-自定义控件-拖动效果

    重写View的onTouchEvent()方法,传递进来MotionEvent对象 调用MotionEvent对象的getAction()方法,获取当前动作 switch判断一下当前动作 事件为Mot ...