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/'
  ]

你可能感兴趣的:(Django 常用配置项)