博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django项目设置
阅读量:6042 次
发布时间:2019-06-20

本文共 2666 字,大约阅读时间需要 8 分钟。

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 adminfrom django.urls import pathfrom blog import blog_viewsurlpatterns = [    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 = TrueUSE_L10N = TrueUSE_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})

  

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

 

4 init

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

  

 

 

 

转载于:https://www.cnblogs.com/jabbok/p/9512566.html

你可能感兴趣的文章
深度学习博客
查看>>
Android总结篇系列:Android Service
查看>>
Android dumpsys命令的使用
查看>>
Linux Kernel系列一:开篇和Kernel启动概要
查看>>
BZOJ 2756: [SCOI2012]奇怪的游戏 网络流/二分
查看>>
master + worker模式的node多核解决框架——node-cluster
查看>>
Android如何实现超级棒的沉浸式体验
查看>>
使用node打造自己的命令行工具方法教程
查看>>
Express代理中间件问题与解决方案
查看>>
||和&&返回什么?
查看>>
linux在文件中查找指定字符串,然后根据查找结果来做进一步的处理
查看>>
在Oracle中删除所有强制性外键约束
查看>>
【R】R语言使用命令行参数 - [编程技巧(Program Skill)]
查看>>
经典算法题每日演练——第二题 五家共井
查看>>
存储过程中拼接的变量和点的问题
查看>>
ASP.NET那点不为人知的事(一)
查看>>
HTML 表格
查看>>
VMware 虚拟化编程(7) — VixDiskLib 虚拟磁盘库详解之三
查看>>
php 未实例化类调用方法的问题
查看>>
我对读计算机软件专业硕士的几点看法
查看>>