![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Django
专职
人生苦短,我用python
展开
-
django项目中如何添加自定义的django command
这一句写入djangocron.cron文件,就是cron的配置了 */1 * * * *这几个参数未改动的格式是 * * * * * 五个参数使用空格隔开分别表示 分钟 小时 天 月 周,我这里的配置就是每分钟执行后面的命令;小箭头 >> $p/djangocron.log 2>&1的意思就是 将命令的输出结果追加到djangocron.log文件,2>&1的意思是同时将错误信息也存入djangocron.log文件。2. app下的mycommand.py的command内容书写,简单示例如下。原创 2023-02-25 11:20:50 · 789 阅读 · 0 评论 -
django中日志配置
1、以dict的方式配置在settings.py中。2、django中使用。原创 2023-02-22 09:47:18 · 424 阅读 · 0 评论 -
django中如何使用信号
简单案例:from django.db import modelsfrom django.db.models.signals import post_savefrom django.dispatch import receiverclass User(models.Model):name = models.CharField(max_length=16)@receiver(post_save, sender=User)def create_user(sender, instance, cr.原创 2021-04-02 09:13:49 · 163 阅读 · 1 评论 -
django中的form实现登录注册小案例
1. 效果图:2. forms.py代码from django import formsfrom django.contrib.auth import authenticatefrom django.contrib.auth.models import Userclass LoginForm(forms.Form): username = forms.CharField( label="用户名", min_length=3, w原创 2021-03-28 12:25:13 · 857 阅读 · 0 评论 -
云服务器部署django项目流程?
一: 购买服务器、安装python依赖、安装需要的python版本1. 购买阿里云服务器,并登陆阿里云服务器,我这里购买的是Ubuntu18.04版本2. 先升级apt,如果不升级后续下载很多软件都会找不到apt update3. ubuntu中安装python相关的依赖由于默认下载的太慢,我们先修改从阿里云镜像下载,详情见链接:https://blog.csdn.net/weixin_42289273/article/details/103794253sudo apt ins.原创 2021-03-25 18:40:16 · 443 阅读 · 2 评论 -
django中xadmin中如何实现导入导出功能
安装pip install django-import-export1. settings.py中注册应用INSTALLED_APPS = [ ...... # 注册导入功能 'import_export',]2. xadmin.py中代码import xadminfrom import_export import resourcesclass MyCourseResource(resources.ModelResource): ""..原创 2021-03-24 20:59:23 · 1260 阅读 · 3 评论 -
django中xadmin中对应ueditor包的下载与安装教程-版本(python3.6.9,xadmin2.2)
效果图:1. ueditor源码下载链接:https://pan.baidu.com/s/12TLhVRb_PXu5k4_NtOJOMw链接:https://pan.baidu.com/s/12TLhVRb_PXu5k4_NtOJOMw提取码:da3h2. 将djangoueditor源码拷贝到项目根目录下3. INSTALLED_APPS 中配置 'DjangoUeditor'4. 配置相关的url: url(r'^u editor/',include('Djan...原创 2021-03-24 16:39:39 · 308 阅读 · 1 评论 -
django中xadmin更进阶的开发
1. 如何修改编辑页面的布局效果图:(1)xadmin.py文件中导入相关的类import xadminfrom xadmin.layout import Fieldset, Main, Side, Rowfrom .models import Course(2) 自定义模型管理类class NewCourseAdmin(object): list_display = ["name", "desc", "detail", "degree", "learn_time原创 2021-03-23 16:06:17 · 500 阅读 · 0 评论 -
django项目中当debug=False时,如何配置静态文件访问的url
1. settings.py代码STATIC_URL = '/static/'# 配置静态文件物理存放目录# STATICFILES_DIRS = [# os.path.join(BASE_DIR, "static")# ]# 当debug=False时,需要配置静态文件访问的UrlSTATIC_ROOT = os.path.join(BASE_DIR, "static")注意:一旦设置STATIC_ROOT变量,就需要注释掉STATICFILES_DIRS变量2. 根u.原创 2021-03-23 11:29:47 · 332 阅读 · 0 评论 -
django项目中如何自定义用户认证模块,使得支持用户名和密码或者手机号和密码登录网站
1. 自定义一个用户认证类:from django.contrib.auth.backends import ModelBackendfrom django.db.models import Qclass CustomAuth(ModelBackend): """自定义用户认证模块""" def authenticate(self, request, username=None, password=None, **kwargs): try:原创 2021-03-23 10:49:53 · 358 阅读 · 0 评论 -
django项目中如何通过modelform处理头像修改
1. models.py代码from django.contrib.auth.models import AbstractUserclass UserProfile(AbstractUser): gender_choices = ( ("male", "男"), ("female", "女"), ) nick_name = models.CharField(max_length=50, verbose_name="昵称", default=原创 2021-03-15 17:20:17 · 314 阅读 · 0 评论 -
django项目中如何实现文件下载-后台上传-前台下载
1. 后台models.py代码class CourseResource(BaseModel): course = models.ForeignKey(Course, on_delete=models.CASCADE, verbose_name="课程") name = models.CharField(max_length=100, verbose_name="资源名") file = models.FileField(max_length=200, upload_to="c原创 2021-03-14 11:52:19 · 607 阅读 · 1 评论 -
django项目中相关推荐的用法
1. 课程模型类和课程标签模型类class Course(BaseModel): teacher = models.ForeignKey(Teacher, on_delete=models.CASCADE, verbose_name="讲师") course_org = models.ForeignKey(CourseOrg, null=True, blank=True, on_delete=models.CASCADE, verbose_name="课程机构") name .原创 2021-03-13 18:34:30 · 135 阅读 · 0 评论 -
django项目中如何完成收藏与取消收藏的功能
1. 收藏的模型类:class UserFavorite(BaseModel): user = models.ForeignKey(UserProfile, on_delete=models.CASCADE, verbose_name="用户") fav_id = models.IntegerField(verbose_name="数据ID") fav_type = models.IntegerField(verbose_name="收藏类型", default=1,原创 2021-03-13 16:01:46 · 1074 阅读 · 0 评论 -
django模板中的常用过滤器与方法
1. 如果模型类中定义的字段是choice选项,那么模板中想直接使用选项后面的中文需要使用一个方法: {{ 字段名.get_字段名_display}}2. 模板中如果想直接访问当前访问的url地址: {{ request.path }}3. 如果想对一个字符串进行切片,例如对当前的url地址进行切片 {{ request.path|slice:7 }}...原创 2021-03-13 14:14:26 · 218 阅读 · 0 评论 -
django项目中如何通过next参数实现登录后跳转回到前一页
在实际Python web开发过程中,我们经常会碰到这样的应用场景。当用户试图访问某个页面或评论某个页面时,我们会要求其先登录,然后在用户在登录后自动跳转到用户试图访问的页面。1. settings.py配置# 配置登录的urlLOGIN_URL = "/login/"2. views.py代码from django.shortcuts import render, redirect, reversefrom django.views.generic.base import View原创 2021-03-11 17:58:33 · 861 阅读 · 1 评论 -
如何使用django开发一个标准rest接口
1. models.py代码from django.db import modelsclass BookInfo(models.Model): btitle = models.CharField(max_length=50, verbose_name="标题") bcontent = models.TextField(verbose_name="内容") bread = models.IntegerField(verbose_name="阅读量", default=0)原创 2021-02-23 11:28:12 · 156 阅读 · 0 评论 -
django发送带附件、图像、html格式的邮件
1. 效果图:2. settings.py配置项# 发送邮件配置项EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'# smpt服务器地址EMAIL_HOST = 'smtp.163.com'# 端口EMAIL_PORT = 25# 发送邮件的邮箱EMAIL_HOST_USER = 'mayanan_net@163.com'# 在邮箱中设置的客户端授权密码EMAIL_HOST_PASSWORD = 'XP原创 2021-02-19 17:34:12 · 1132 阅读 · 0 评论 -
django中的xadmin自定义页面集成echarts深度定制
概述:xadmin作为Django的一种后台管理框架,给我们提供了非常灵活的插件机制。除了我们在官网中可以看到的Xadmin plugin,包括Action、data filters、图表插件、书签、数据导出功能等,我们还可以通过继承它的BaseAdminPlugin父类来进行更强大的定制。在一些特殊的需求中,当我们对xadmin的数据管理平台有一些更加个性化的需求时,xadmin自带的默认插件可能就满足不我们了。如我们都知道xadmin是一个数据管理平台,但现在的需求是需要在这个数据管理平台中嵌入一些原创 2021-02-04 12:30:04 · 836 阅读 · 1 评论 -
django的xadmin后台如何添加图片验证码和登录次数限制
1. 图片验证码效果:2. 登录超过次数直接限制效果密码错误有提示,验证码错误有提示,超过次数限制直接报错3. 验证码的使用(1)安装库:pip install django-simple-captcha(2)注册INSTALLED_APPS = [ 'captcha',](3)生成表python manage.py migrate(4)urls配置urlpatterns = [ path('xadmin/', xadmin..原创 2021-02-03 16:10:32 · 706 阅读 · 0 评论 -
django项目中如何配置上传文件访问的url
1. models.py中配置如下from django.db import modelsclass CourseOrg(models.Model): name = models.CharField(max_length=50, verbose_name="机构名称") desc = models.TextField(verbose_name="描述") img = models.ImageField(upload_to="org/%Y/%m", verbose_name原创 2021-01-30 14:09:26 · 401 阅读 · 0 评论 -
django项目中如何实现手机验证码注册
1. 效果图:2. forms.py中的注册表单代码from django import formsfrom django.forms import fieldsfrom redis import StrictRedisfrom captcha.fields import CaptchaFieldfrom apps.users.models import UserProfileclass DynamicLoginPostForm(forms.Form): mobi.原创 2021-01-24 16:52:51 · 934 阅读 · 0 评论 -
django项目中如何将登录默认session过期时间14天改为其它配置
django设置登录session过期时间修改settings.py中的配置即可:# session 配置项,一下是默认配置项,可以修改成自己想要的过期时间或者浏览器关闭后自动过期SESSION_COOKIE_NAME = "sessionid" # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串SESSION_COOKIE_PATH = "/" # Session的cookie保存的路径SESSION_COOKIE_DOMAIN = None ...原创 2021-01-24 16:41:28 · 1229 阅读 · 0 评论 -
django项目中如何实现手机验证码动态登录
相关知识点:表单类、自定义表单类验证方法,redis保存短信验证码,图片验证码的生成等1. 效果图:2. forms.py中的表单类:动态登录需要对手机号和短信验证码进行校验from django import formsfrom django.forms import fieldsfrom captcha.fields import CaptchaFieldfrom redis import StrictRedisclass DynamicLoginPostForm(for原创 2021-01-23 19:31:05 · 848 阅读 · 3 评论 -
django项目中如何使用ajax完成短信验证码的发送
1. ajax代码$.ajax({ cache: false, type: 'post', dataType:'json', url:"/users/send_sms/", data:{ mobile:$inpRegMobile.val(), "captcha_1":$inpRegCaptcha.val(), "captcha_0":$('#id_captcha_0').val(), }2. 手机号,图原创 2021-01-16 21:34:27 · 323 阅读 · 0 评论 -
django项目中如何使用django-simple-captcha生成图片验证码
1. 安装与配置 django-simple-captcha通过pip安装:pipinstalldjango-simple-captcha 添加captcha到INSTALLED_APPS您的settings.py 跑pythonmanage.pymigrate 将条目添加到您的urls.py: urlpatterns += [ path('captcha/', include('captcha.urls')),] 注意:Pillo...原创 2021-01-16 15:39:06 · 575 阅读 · 4 评论 -
python3.6.9django2.2对应xadmin包的下载与安装教程
1. 下载xadmin源码文件夹https://pan.baidu.com/s/1a0qVthbG6uNThL1q3BhYKg链接:https://pan.baidu.com/s/1a0qVthbG6uNThL1q3BhYKg提取码:443r2. 将下载的xadmin文件夹放到项目根目录下(1)注册应用INSTALLED_APPS = [ # 注册xadmin 'crispy_forms', 'xadmin.apps.XAdminConfig',]..原创 2021-01-02 11:25:10 · 344 阅读 · 2 评论 -
django项目中pyecharts详细使用教程2
1. 柱状图与折线图合并在一起组成组合图from jinja2 import Environment, FileSystemLoaderfrom pyecharts.globals import CurrentConfigfrom django.conf import settingsCurrentConfig.GLOBAL_ENV = Environment(loader=FileSystemLoader("{}/templates".format(settings.BASE_DIR)))原创 2020-11-10 17:55:03 · 1472 阅读 · 0 评论 -
django项目中pyecharts详细使用教程1
1. 柱状图的制作from django.shortcuts import renderfrom pyecharts.charts import Barfrom django.conf import settingsdef zhu_zhuang(request): bar = Bar() bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]) bar.add_yaxis("商家A", [5, 20, 36, 10,原创 2020-11-09 17:13:08 · 9225 阅读 · 2 评论 -
django项目中datatables详细使用教程
1.bootstrap-datatables使用教程Datatables是一款jquery表格插件。它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能。分页,即时搜索和排序 几乎支持任何数据源:DOM, javascript, Ajax 和 服务器处理 支持不同主题 DataTables, jQuery UI, Bootstrap, Foundation 各式各样的扩展: Editor, TableTools, FixedColumns …… 丰富多样的option和强大的A.原创 2020-10-31 23:47:04 · 4149 阅读 · 0 评论 -
django中form组件的详细用法
1. Form组件的主要功能HTML form提交数据后自动保留上次提交的数据 对用户提交的数据进行验证并生成错误信息 生成HTML标签 初始化页面显示内容 实时数据更新2. Form的处理流程在应用下面创建forms.py用来存放form组件的类 创建form类,类里面创建前端需要传入的字段 在views视图函数中进行对数据验证处理,成功进行跳转到新页面和失败返回到原来的页面。 模板HTML渲染页面3. 创建表单类from django import formsfrom原创 2020-10-22 17:51:50 · 1625 阅读 · 2 评论 -
django认证系统几个常用的方法
from django.contrib.auth import logout, login, authenticate from django.contrib.auth.decorators import login_required from django.contrib.auth.models import User# 判断是否登录:request.user.is_authenticated()# 创建一个用户user = User.objects.create_user(user_n原创 2020-10-11 17:33:27 · 210 阅读 · 0 评论 -
django项目部署流程
1. uwsgi的安装pip install uwsgi2. uwsgi的配置(1) 将settings.py文件中:DEBUG改为FALSE,ALLOWED_HOSTS改为["*"](2)在项目目录下新建一个uwsgi.ini文件,文件中输入代码[uwsgi]# 使用nginx连接时使用# socket=127.0.0.1:8080# 直接做web服务器, python manage.py runserver ip:porthttp=127.0.0.1:8080# 项目原创 2020-10-11 12:25:01 · 1639 阅读 · 0 评论 -
django-allauth教程
1. 安装pip install django-allauth2. 注册应用将allauth相关APP加入到INSTALLED_APP里去。对于第三方的providers,你希望用谁就把它加进去。值得注意的是allauth对于站点设置django.contrib.sites有依赖,你必需也把它加入进去,同时设置SITE_ID。INSTALLED_APPS = [... 'django.contrib.sites', 'allauth', 'allauth.acco原创 2020-10-10 15:35:23 · 1819 阅读 · 1 评论 -
django项目中如何实现支付宝付款功能
支付宝开放平台网址:https://open.alipay.com/platform/home.htm1. 网站对接支付宝流程图2. 使用python工具包使用教程网址:https://github.com/fzlee/alipay/blob/master/README.zh-hans.md(1)安装# 从 1.3.0升级上来的用户, 请先卸载pycrypto:pip uninstall pycrypto# 安装python-alipay-sdkpip install py.原创 2020-10-07 16:35:25 · 992 阅读 · 0 评论 -
django项目中在创建订单时如何使用事务和锁(悲观锁/乐观锁)
事务的四大特性:原子性、一致性、隔离性、持久性(ACID)django中操作数据库如果想使用事务,需要导入一个模块from django.db import transaction使用transaction.atomic装饰器对函数进行装饰,该函数中所有对数据库的操作就会形成一个事务,要么都执行,要么都不执行同时,还可以在代码中设置保存点!代码如下:# 前端传递的参数:地址id:addr_id,支付方式:pay_method,购买的商品id字符串:sku_idsclass O原创 2020-10-05 16:29:43 · 642 阅读 · 1 评论 -
django项目中如何使用全文检索框架haystack的安装、配置和使用
1. 搜索引擎和全文检索框架概述2. 安装和配置(1)pip install djang-haystack==2.5.1 # 安装全文检索框架注意:此案例中django使用的1.8.2,所以django-haystack==2.5.1不会报错(2)pip install whoosh # 安装whoosh搜索引擎(3)注册全文检索框架INSTALLED_APPS = ( ... "haystack", # 注册全文检索框架)(4)全文检索框架...原创 2020-10-03 12:06:07 · 862 阅读 · 4 评论 -
django项目中如何实现首页页面数据的缓存同时后台修改数据清除缓存
1. 当第一次访问首页时,设置缓存,当有用户再次访问首页时,从缓存中读取数据,减少查询数据库的次数,提高网站性能IndexView类视图中的代码如下:from django.core.cache import cacheclass IndexView(View): """首页""" def get(self, request): """显示首页""" # 尝试从缓存中获取数据 context = cache.get("index原创 2020-10-01 15:34:01 · 521 阅读 · 0 评论 -
django项目中django_pure_pagination实现分页的高级用法
1. 安装pip install django-pure-pagination2. 在settings.py中增加如下配置INSTALLED_APPS = ( ... 'pure_pagination',)3.在settings中加入一些分页配置PAGINATION_SETTINGS = { 'PAGE_RANGE_DISPLAYED': 5, 'MARGIN_PAGES_DISPLAYED': 2, 'SHOW_FIRST_PAGE_W.原创 2020-09-30 16:21:36 · 851 阅读 · 0 评论 -
django项目中xadmin详细使用教程
1. 导入xadmin及需要注册的模型类import xadminfrom .models import Students, Class, Subjects2. 自定义模型管理类,继承自object基类,(admin中继承是:admin.ModelAdmin)# 自定义模型管理类class StudentsAdmin(object): list_display = ("name", "sex", "age", "address")3. 注册模型类# 注册模型类xadm原创 2020-09-29 16:05:37 · 8081 阅读 · 1 评论