1 项目下的文件

用于项目设定的setting.py

用于url规则匹配的urls.py

用于创建socket对象的wsgi.py

2 urls

django2.0相比1.x,在url匹配语法上有很大变化,所以1.x的语法在2.0中是不适用的。

分两步,导入app.views,创建规则,指向views先的一个函数

from django.contrib import admin
from django.urls import path
from blog import blog_views
urlpatterns = [
path('admin/', admin.site.urls),
path('blog/', blog_views.blog_index),
]
#admin是默认存在的管理函数
#blog app导入它自己的views,然后设定,当url为'blog/'时,把request发送给blog_views下的blog_index方法。

3 setting

ALLOWED_HOSTS = ['*']
#允许访问的ip,默认为空,可以改成任意

  

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'cmdb',
]
#django开头的app是系统默认添加
#我要创建一个app,就要把app写到这里

  

MIDDLEWARE = [
'django.middleware.csrf.CsrfViewMiddleware',
]
#csrf防攻击,启用这个功能,在get请求时,会在响应头收到一个csrftoken。
#在form post表单提交时,加入{% csrf_token %}参数,post过来的请求,会加一个csrftoken的隐藏input标签
#django收到自己发出去的csrftoken,就证明这个请求是从自己的页面上提交的。是安全的

  

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',
],
},
},
]
#DIRS默认为空,这样,django会在app下的templates下搜索模板,
#这里改为项目家目录的templates目录

 

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysite',
'USER': 'root',
'PASSWORD': 'xxxx',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
#数据库配置,默认为sqlite3,这里已经改成mysql
#设定库名,用户,密码,主机和端口

 

# Internationalization
# https://docs.djangoproject.com/en/2.0/topics/i18n/ LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True USE_TZ = False
#设置国际化选项,语言编码改成中文,时区改成上海,USE_TZ = False

  

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.0/howto/static-files/ STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
'/static/',
]
#静态文件目录设置,django默认不会创建static文件夹,也没有这里的配置,需要自己加上去。
#当请求/static/时,搜索目录为项目家目录的static目录

按照这样设定好templates和static时,目录结构如下

在views中的模板地址如下

def blog_index(request):
blog_list = BlogPost.objects.all()
print(blog_list)
return render(request,'blog/index.html', {'blog_list':blog_list})

  

在模板中引用静态文件如下

<link href="/static/blog/starter-template.css" rel="stylesheet">

4 init

import pymysql

pymysql.install_as_MySQLdb()
#django2.0默认支持mysqldb,但python3不支持,要使用pymysql,需要在这里设置一下

  

 

 

django项目设置的更多相关文章

  1. Django项目: 项目环境搭建 ---- 二、django项目设置

    1.配置模板文件 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.p ...

  2. django项目 设置session 实现用户登入登出

    一.配置文件 settngs.py中 # 使用django认知系统的登录状态装饰器时,没有登录的话,跳往登录页面后路径是/acount/login 需要重新指定 LOGIN_URL = '/user/ ...

  3. Django入门第一步:构建一个简单的Django项目

    Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将 ...

  4. Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt)

    Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt) 作者: Desmond Chen,发布日期: 2014-05- ...

  5. Python--day61--安装Django,Django项目的启动和设置运行端口和关闭运行端口

    0,安装Django 1,Django项目的启动 2,设置运行端口和关闭运行端口

  6. 【Django笔记0】-Django项目创建,settings设置,运行

    Django项目创建,settings设置,运行 1,项目创建 ​ 通过pip下载Django以后,在cmd中cd到想要创建项目的路径,之后输入: django-admin startproject ...

  7. centos7 apache httpd安装和配置django项目

    一.安装httpd服务 apache在centos7中是Apache HTTP server.如下对httpd的解释就是Apache HTTP Server.所以想安装apache其实是要安装http ...

  8. mac osx 上面部署Django项目 apache+mysql+mod_wsgi

    1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...

  9. Pychram如何导入Django项目

    最近在学Django,用GitHub来保存项目.但当从GitHub中clone出来后,Pycharm怎么来运行项目呢? 首先要对项目进行设置,使其能支持Django,具体设置如下: 在Pycharm中 ...

随机推荐

  1. Spring Boot缓存源码分析

    前言 项目里面要增加一个应用缓存,原本想着要怎么怎么来整合ehcache和springboot,做好准备配置这个配置那个,结果只需要做三件事: pom依赖 写好一个ehcache的配置文件 在boot ...

  2. String StringBuffer StringBuilder 三者之间的区别

    今天被公司骗去面试,好糟心...... 这个问题不管去哪里面试,基础问题基本上都会问到这个问题.网上好多大神都总结,这里自己也总结一下. 首先我们最开始学的就是String字符串常量,这里有行代码 S ...

  3. POJ1006 Biorhythms —— 中国剩余定理

    题目链接:https://vjudge.net/problem/POJ-1006 Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total ...

  4. 【转载】Android进程保活招式大全

    原文地址:http://dev.qq.com/topic/57ac4a0ea374c75371c08ce8 目前市面上的应用,貌似除了微信和手Q都会比较担心被用户或者系统(厂商)杀死问题.本文对 An ...

  5. C# 多线程控制 通讯 和切换

    一.多线程的概念  Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程.什么是进程呢?当一个程序开始运行时,它就是一 ...

  6. hdu-2647 Reward && hdu-2049产生冠军 &&hdu-3342Legal or Not(拓扑排序)

    题目链接: hdu-2647 /*Problem : 2647 ( Reward ) Judge Status : Accepted RunId : 16919085 Language : G++ A ...

  7. [转载] Android raw与assets区别

    *res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制. *res/raw和assets的不同点:1.res/raw中的文件会被映射到R ...

  8. 关于yolov3 训练输出值

    Region xx: cfg文件中yolo-layer的索引: Avg IOU:当前迭代中,预测的box与标注的box的平均交并比,越大越好,期望数值为1: Class: 标注物体的分类准确率,越大越 ...

  9. You Are the One

    题意: 有n个人排队,第i个入场的人x的不愉快度是$D_x*(i-1)$,现在给你n个人在队伍中的位置, 你可以用一个栈让一个人后面的人先进入,问最小的不愉快度是多少. 解法: 考虑注意到用栈调整次序 ...

  10. int和Integer及拆箱与装箱

    int和Integer 如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null.但是如果面试官再问一下In ...