django 项目需要注意的一些点

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 1.创建新项目    把静态文件夹的名字放在settings文件里面 STATIC_URL = '/static/' STATICFILES_DIRS=[ os.path.join(BASE_DIR,"static") ] 2.

1.创建新项目    把静态文件夹的名字放在settings文件里面

STATIC_URL = '/static/'
STATICFILES_DIRS=[
    os.path.join(BASE_DIR,"static")
]

2.创建表的时候User表继承AbstractUser时  settings文件要加上

AUTH_USER_MODEL="app01.UserInfo"

 

class UserInfo(AbstractUser):
    """
    用户信息
    """
    nid = models.AutoField(primary_key=True)
    telephone = models.CharField(max_length=11, null=True, unique=True)
    avatar = models.FileField(upload_to='avatar/', default="avatar/default.png")
    create_time = models.DateTimeField(verbose_name='创建时间', auto_now_add=True)
    img = models.CharField(max_length=128,default='/static/img/default.gif')
    blog = models.OneToOneField(to='Blog', to_field='nid', null=True, on_delete=models.CASCADE)

 

 3.若是用的mysql数据库则在跟项目名同名的文件夹中的init文件加上下面这句话

import pymysql
pymysql.install_as_MySQLdb()

 

 

并且在settings文件中修改DATADASES的信息 比如:

DATABASES = {
    'default': {
         'ENGINE': 'django.db.backends.mysql',
        'NAME':'blog',   # 要连接的数据库,连接前需要创建好
        'USER':'root',# 连接数据库的用户名
        'PASSWORD':'', # 连接数据库的密码
        'HOST':'127.0.0.1',# 连接主机,默认本级
        'PORT':3306 #  端口 默认3306
    }
}

 4.在有form表单时,想通过点击事件发送ajax请求,这时候切记把type写成button

 

 

 5.自己写的中间件记得在settings中注册

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'app01.middlewares.MD2',   # 记得注册
          
]

 

6.如何在Django项目中写个脚本来做测试,比如我们最常做的写脚本测试自己的ORM查询对不对。

这时候我们就要仿照项目中的manage.py 文件来写自己的脚本 

那我们呢不妨先来看看manage.py的写法

 1 #!/usr/bin/env python
 2 import os
 3 import sys
 4 
 5 if __name__ == "__main__":
 6     os.environ.setdefault("DJANGO_SETTINGS_MODULE", "about_drf.settings")
 7     try:
 8         from django.core.management import execute_from_command_line
 9     except ImportError:
10         # The above import may fail for some other reason. Ensure that the
11         # issue is really that Django is missing to avoid masking other
12         # exceptions on Python 2.
13         try:
14             import django
15         except ImportError:
16             raise ImportError(
17                 "Couldn't import Django. Are you sure it's installed and "
18                 "available on your PYTHONPATH environment variable? Did you "
19                 "forget to activate a virtual environment?"
20             )
21         raise
22     execute_from_command_line(sys.argv)

 

那我们就来仿照写一个check_test.py

 1 import os
 2 
 3 if __name__ == "__main__":
 4     os.environ.setdefault("DJANGO_SETTINGS_MODULE", "about_drf.settings")
 5     import django
 6     django.setup()
 7   #######上面时固定格式下面开始写脚本##########
 8     from app01 import models    #这里一定把models引用过来,这样可以拿到表结构,然后做查询
 9     import datetime
10 
11  
15     query_set = models.Article.objects.all().values("id", "title", "create_time", "type", "school__name")
16     
17     obj = models.Article.objects.first()
18   

 

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
前端开发 数据库 Python
Django项目之电商购物商城 -- 修改/删除收货地址/设置默认地址
Django项目之电商购物商城 -- 修改/删除收货地址/设置默认地址
|
1月前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
211 4
|
1月前
|
前端开发 JavaScript 数据安全/隐私保护
计算机Python项目|django学生成绩管理系统
计算机Python项目|django学生成绩管理系统
|
1月前
|
前端开发 JavaScript Python
Django项目之电商购物商城 -- 新增收货地址
Django项目之电商购物商城 -- 新增收货地址
|
1月前
|
前端开发 Python
七. Django项目之电商购物商城 -- 退出登录
七. Django项目之电商购物商城 -- 退出登录
|
1月前
|
前端开发 Python
六. Django项目之电商购物商城 -- 用户登录
六. Django项目之电商购物商城 -- 用户登录
|
7天前
|
安全 前端开发 API
震惊!掌握Django/Flask后,我竟然轻松征服了所有Web项目难题!
【7月更文挑战第15天】Python Web开发中,Django以其全面功能见长,如ORM、模板引擎,助你驾驭复杂需求;Flask则以轻量灵活取胜,适合快速迭代。两者结合使用,无论是数据库操作、用户认证还是API开发,都能让你应对Web挑战游刃有余。掌握这两者,Web项目难题变得易如反掌!
|
12天前
|
ARouter 关系型数据库 MySQL
Django项目同时连接多个不同的数据库(7)
【7月更文挑战第7天】在Django项目中配置连接多个数据库,你需要: 1. 在`settings.py`中配置多个数据库, 2. 在`settings.py`内设置数据库路由,指定每个应用使用的数据库,
25 2
|
1月前
|
人工智能 关系型数据库 Docker
【Django项目】 通过AI实现视频转文字
【Django项目】 通过AI实现视频转文字
|
1月前
|
存储 前端开发 API
[译]Django项目最常用的20个包
[译]Django项目最常用的20个包