分类目录归档:Django

01项目初始化

vue

前端项目单独运行

cnpm install
cnpm run dev

环境

python3.6 ==注意 最新版本django和xadmin搭配会出现非常多问题,建议用django1.9==

创建一个python36的虚拟环境

mkvirtualenv --python=C:\python\Python36\python.exe mxshop
pip install -i https://pypi.douban.com/simple django
pip install djangorestframework
pip install markdown       # Markdown 

阅读全文 →

02django返回json的方法

view_base写法

# -*- coding: utf-8 -*-
__author__ = 'bobby'

from django.views.generic.base import View

from goods.models import Goods
# from django.views.generic import ListView


class GoodsListView(View):
    def get(self, request):
        """
        通过django的view实现商品列表页
  

阅读全文 →

05filter

过滤

settings.py

INSTALLED_APPS = [
    'django_filters',
]

queryset过滤方式

class GoodsListViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):
    """
    商品列表页
    """
    queryset = Goods.objects.all().order_by("id")  # 一定要排序 不然分页会出错
    permission_classes = (IsAuthenticated,)  # 用户未登录则无法请求该接口
   

阅读全文 →

06登录

drf登录

authtoken

# 把'rest_framework.authtoken',注册进apps里
# makemigrations
# migrate

url.py

from rest_framework.authtoken import views
    url(r'^api-token-auth/', views.obtain_auth_token),

settings.py

# django restframework 配置
REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASS': (
        'rest_fram

阅读全文 →

8缓存

安装

pip install drf-extensions

引用

from rest_framework_extensions.cache.mixins import CacheResponseMixin
# 加入CacheResponseMixin到第一个入参
class GoodsListViewSet(CacheResponseMixin, mixins.ListModelMixin, viewsets.GenericViewSet):

可以再settings.py中配置有效时间,具体查官方文档

使用redis

pip install django-redis

在settings.py中

阅读全文 →

dwebsocket

一 什么是Websocket

WebSocket是一种在单个TCP连接上进行全双工通信的协议

WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输

现在,很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数

阅读全文 →

Django2.1.1与xadmin0.6.0遇到的坑

Django2.1.1与xadmin0.6.0遇到的坑

(1)django2.0把from django.core.urlresolvers修改成了django.urls

异常信息:
ModuleNotFoundError: No module named 'django.core.urlresolvers'
解决方案:
修改site-packages\xadmin-0.6.1-py3.6.egg\xadmin\models.py
将from django.core.urlresolvers import NoReverseMatch, reverse修改为from django.urls i

阅读全文 →

安装django 博客

环境

升级系统

sudo apt update
sudo apt upgrade -y

待完成更新之后,建议重新启动下系统,再进行后面的操作。终端下执行:

sudo reboot

待系统启动后,可以开始安装依赖的mysql以及python环境了。

安装 依赖

sudo apt install mysql-server -y #安装mysql
sudo apt install python3-dev python3-pip python-pip memcached -y #安装pip和memcached
sudo apt install supervisor -y
sudo apt instal

阅读全文 →