【慕课网】强力Django和杀手级xadmin学习笔记

慕课网
强力Django和杀手级xadmin学习笔记
2018年6月

3-2

这里写图片描述

3-3

  • 指定主键
    • primary_key = True
    • 这里写图片描述

3-5

  • 在url中指定别名url(r'^form/$',getform,name = 'go_form'
    在 template中 {% url 'go_form' %}

4-3

  • 继承django的user表
    python
    from django.contril.auth.models import AbstractUser
    class UserProfile(AbstractUser):
    ___

4-8

  • app加入到搜索路径内
    在setting中
    sys.path.insert(0,os.path.join(BASE_DIR,'apps'))

5-2

5-5

  • 后台数据库显示中文
    在app的apps.py 中:
    class 中添加 verbose_name = "中文名称"
    然后在该app的init.py 中添加:
    default_app_config = "database.apps.DatabaseConfig"
    其中 DatabaseConfig 为 apps.py 中的class名,database为app名

6-7

  • 注册或登录图片验证码功能
    • django-simple-captcha(github上搜索)

7-3/7-4

  • 上传文件地址设置
    在model里有imgField字段,上传路径在哪设置呢
    在setting中添加:
    python
    MEDIA_URL = '/media/'
    MEDIA_ROOT = os.path.join(BASE_DIR,"media")
  • 要在template中使用media,如url ="{{ MEDIA_URL }}{{ app.img }}"
    需要在setting的template中添加:
    django.core.context_processors.media
    还要在url中做配置:
from django.views.static import serve
from MxOnline.setting import MEDIA_ROOT
url(r'^media/(?P<path>.*)$',serve,{"document_root":MEDIA_ROOT})

7-5

  • 分页开发库 django -pure -pagination(github搜索)

7-7

  • 当前台的一个表和后端数据库一个表的属性很相似时,可以直接将class表,转换为前台的form
    python
    from django import forms
    class AnotherUserForm(forms.ModelForm):
    class Meta:
    model = UserAsk # 自己的class表
    field = ['name','mobile','course_name'] # 自定义字段

    然后在view中直接调用save(commit=True)即可更新到数据库,非常省事,具体参见7-7和10-4的末尾部分视频

7-8

  • 异步请求,返回Json Ajax刷新
    return HttpResponse("{a:b}",content_type = "application/json")

7-9

  • 数据库反向取数据
    外键 A = models.ForeignKey(B)
    可以通过 B.A_set 类似形式,反向取到指向B的A的所有数据。

8-1

  • 如果一个字段是choice类型
    则在html页面中用get_choice_dispaly 显示
    例如:

    A =  model.CharField(choices = (("cj","初级"),("gj","高级")))
    
    {{ classname.get_A_dispaly }}

10-1

  • 在html中 request.path 可以提取到当前页面的路径,相对路径,可以根据路径对某些按钮或标签做出相应状态。
    {{% if request.path | slice:'7' == '/course' %}}
    做出判断

10-2

  • 在view中,查询数据库,或的功能,比如筛选出name=name的或者email=email的,用到或的功能

    import django.db.models import Q
    
    all_courses = all_courses.filter(Q(name==name) | Q(email = email) )

11-1

  • 登出功能

    class LogoutView(View):
    def get(self,request):
    logout(request) # django自带函数
    from django.core.urlresolvers import reverse
    return HttpResponseRedirect(reverse("index")) # 反解出网址

12-2

这里写图片描述
这里写图片描述

发布了47 篇原创文章 · 获赞 108 · 访问量 29万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览