Django 常用配置项

会话跟踪

  settings.py
  # 允许session中可以保存普通对象[Django通过内建的模块自动操作序列化]
  SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'

数据缓存到redis数据库

  settings.py
  # SESSION 数据缓存到redis数据库
  SESSION_ENGINE = "django.contrib.sessions.backends.cache"
  SESSION_CACHE_ALIAS = "default"
---
一个小案例(work/day06中有体现)
#在子项目中新建tools.py 文件
# 导入需要的模块
from django.core.cache import cache
from . import models

def cache_index(change=False):
   print('从redis中查询数据')
   a_list = cache.get('article_list')
   if a_list is None or change == True:
       print('去数据库中查找数据')
       a_list = models.Article.objects.all()
       print('将查询到的数据加载到缓存中')
       cache.set('article_list', a_list)
       return a_list
#在view.py 中导入tools.py 
def articel_publish(request):
      '''
         发表文章,发表文章后需要重新从数据库读取有关文章的信息加载到redis数据库中
    :param request:
   :return:
    '''
if request.method == 'GET':
    try:
        author = request.session['login_user']
    except:
        return render(request, 'blog/login.html', {'err_msg': '你还没有登录,不能发表文章'})
    else:
        return render(request, 'blog/article_publish.html', {})
if request.method == 'POST':
    title = request.POST['title']
    content = request.POST['content']
    author = request.session['login_user']

    # 保存数据到数据库
    article = models.Article(title=title, content=content, author=author)
    article.save()

    ## 缓存到django-redis
   ` tools.cache_index(True)`

    # 跳转到详情页面
    return redirect(reverse('blog:articledetail', kwargs={'article_id': article.id}))

连接数据库

在models.py 中创建模型类 然后连接数据库
  settings.py
  import pymysql
  pymysql.install_as_MySQLdb()
  settings.py
    DATABASES = {
      'default': {
          'ENGINE': 'django.db.backends.mysql',
          'NAME': 'py1712_shopping',
          'USER': 'root',
          'PASSWORD': 'root',
      }
  }

数据库同步命令

  python manage.py makemigrations 生成SQL语句
  python manage.py migrate 写入数据库

管理子项目静态文件的模块

  settings.py
   INSTALLED_APPS = ['子项目名称']

路由访问端口你操作

  settings.py
  ALLOWED_HOSTS = [ '*' ]
  启动项目:python manage.py runserver0.0.0.0:8000
  0.0.0.0:可以匹配任何IP端口

对根项目下的static文件夹管理

  settings.py
  STATICFILES_DIRS = [
      BASE_DIR + '/static/'
  ]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 要加“m”说明是MB,否则就是KB了. -Xms:初始值 -Xmx:最大值 -Xmn:最小值 java -Xms8...
    dadong0505阅读 4,941评论 0 53
  • “我”是光体 “我”来自于一个充满光的世界里 那是一个都是光都是爱,没有分别对立的世界 为了体验人世间的一切,于是...
    茉莉141319阅读 1,158评论 0 1
  • 我们和他们有什么区别呢,我对他们有什么印象呢,经常会对一群人,一类人有固定的印象,基本归因谬误告诉我们,想要预测,...
    Dflower阅读 426评论 0 0
  • 吃喝是因 晚睡是因 不锻炼是因 抵抗力下降 免疫力下降 荨麻疹是果
    平心看世界阅读 215评论 0 0