Django 常规使用设置

1. 数据库的设置

  • Django默认有自带的数据库,当需要用其他数据库时需要修改设置,这里用MySQL示范
    • 首先确认是否安装MySQL数据库,pymysql 模块
    • 修改Django项目的setting 文件
          #导入 pymsql 模块
          import pymysql
          #django 默认用MySQLdb(),这里将pymysql看作,如果安装有其他插件可不写这句话。
          pymysql.install_as_MySQLdb()  
      
          #修改配置信息
          DATABASES = {
              'default': {
                   'ENGINE': 'django.db.backends.mysql',
                   'NAME':'myui_info', #链接的数据库名字
                   'USER': 'root',  #登陆数据库账号密码
                   'PASSWORD':'root',
                    ......
                }
           }
      

2. 项目显示语言设置

  • 默认为英文
        #文字设置为中文
        LANGUAGE_CODE = 'zh-Hans'
    

3. 项目生产时允许通过IP连接

  • 默认为空,只允许本地 localhost 连接
        #文字设置IP连接
        ALLOWED_HOSTS = [ '*',]
        #当修改设置后,启动方式也要改变,不再是直接 python manage.py runserver
        python manage.py runserver 0.0.0.0:8000
        #注意:这样的方式启动是通过内置的测试服务器启动并发布项目的,
        #只适用于开发,项目开发完成,部署上线时,要将web项目部署到独立的服务器上
    

4. 项目前端页面文件与静态资源文件的设置与存放

  • 根目录的静态资源与网页,公共资源
    • 创建文件夹存放资源与网页
        在主目录里直接创建 temp 文件夹和 static 文件夹
    • 修改setting 文件,设置默认查找文件路径
          # static 文件存放静态资源,images/css/js 
          STATICFILES_DIRS=[
                   os.path.join(BASE_DIR,'static'),
                ]
      
            # tmpe文件放html文件
           TEMPLATES = [
                {
                    'DIRS': ['tmpe'],  
                }
            ]
      
  • 子项目的静态资源与网页
    • 创建文件夹存放资源与网页
        在子项目里创建 templatest 文件夹 / 子项目名称的文件 / 和 static 文件夹/ 子项目名称文件夹/ ,在文件夹里存放资源和网页,为什么多创建一个子项目名称文件,是为了文件隔离,防止子项目文件名和主项目文件名一致,引起冲突,无法找到子项目文件,直接使用主项目的文件
    • 直接使用,不需要设置。

5. Django自带后台管理系统

  • 首先先创建超级管理员用户
        #执行命令:
        python manage.py createsuperuser 
    
        #输入要创建的账号,密码,邮箱等,一般只需要账号密码即可。
    
  • 登录后台管理系统
      将网页路径端口后面改为admin即可访问后台网页,通过账号密码登录后台,但此时后台什么都没有,需要我们将 models 文件里创建的类添加注册到后台 admin 文件。
  • 将项目的models注册到后台管理系统
    • models 文件 添加设置
          class  User(models.Model)
              # 添加设置 verbose_name ,在后台就可以显示对应的对象属性名称,
              #不然后台只能看到显示所有属性的类型
              name=models.CharFiled(max_length=200,verbose_name="名称")
      
              #这是修改 class 后台显示的名称
              class Meta:
                   verbose_name = "用户信息"
                   verbose_name_plural = verbose_name
              #访问属性时返回属性的名字
              def __str__(self):
                   return self.name
      
    • admin 文件 注册 models 数据
          #导入 models 里的类
          from .models import User
      
          #将User类注册到 admin 里
          admin.site.register(User)
      
    • app 文件添加配置
          #导入 models 里的类
          verbose_name = '用户信息'
      

6. 反解析路由

  • 当一个函数处理完,需要返回一个页面,当这个页面还有自己特有的数据需要展示,此时需要调用显示这个页面自己的处理函数。
        #引入模块:
        from django.shortcuts import redirect
        #反向解析,直接可调用 name='名字' 的url路由处理函数。
        from django.core.urlresolvers import reverse
    
        #返回 app_name='mysess' 的 name='index' 的处理函数
        return redirect(reverse('mysess:index')) 
    

你可能感兴趣的:(Django 常规使用设置)