Django 初识

侧边栏广告。知乎之前以侧边栏投放过广告,但是看得出知乎始终对准投放广告大郑重,而现本人之知乎侧边栏就从未有过外广告。我思民众对知乎盈利最广大的猜测就是投放及时看似硬广,但是的确会挑起用户之反感。以知乎现在之上进来拘禁,我以为也非会见要向就漫漫路上走。但广告盈利一直还是互联网的主干部分,就那点我关系的文章吧,作者说脚的小站

前言

近来产生个对象说他每天劳作时还如翻开某些官方网站的打招呼,一看就是十几个网站,每个网站来回切,很是抑郁,于是咨询我产生没有发较elegant
的解决办法。作为一个程序员,能就此代码解决的不用动手。起初是故Python
写了只简易的脚本,通过爬取这些网站的通,再通过目录的形式显得出来,方便查看。

然当一个iOS 开发,考虑做成个App
来查看更为方便,顺带着为如法炮制下后端的文化,自己写个API,搭建筑个服务器啥的。经调研打算先从Django
入手。Django 是用 Python 编写的一个开源 Web
框架,可以据此她来迅速增加建筑一个大性能的网站。本文先称个山头,Let’s do it!

最近互联网的盈利模式有很多翻新,但是那个基本模式并没有尽特别变。如果非考虑电商,着眼于社区盈利模式,互联网盈利模式大致可综合为零星杀接近(不针对匪完善的地方还伸手大家指正):一看似是倒卖流量,或者是绝普遍的卖广告,当然广告以分硬广软广,形式丰富多彩;另一样类似是仍
IAP、增值服务这么的收费项目。之前自己于知乎上观看同一首文章,写的百般浅,但众多人说写的顶浅了,但我觉着不错,很多人数的眼里看到底都是五花八门,看到的是样式,而未擅长于精神出发,归纳看问题,往往注重“复杂”而忽略“简单”。

7.URLs

from django.conf.urls import url, include
from rest_framework import routers
from django.contrib import admin
from api import views

router = routers.DefaultRouter()
router.register(r'articles', views.ArticleViewSet)
router.register(r'categorys', views.CategoryViewSet)

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', include(router.urls)),
    # url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]

屏幕快照 2017-12-29 下午5.51.22.png

出版。知乎尝试过众多筹出书,一年销售了接近 10
万本,另外知乎也以跟作者合作有电子书。但是出版版税太没有,仅依靠出版业获取利润太为难,显然也并无克成知乎主要的盈利模式。

安装Django REST framework

sudo pip install djangorestframework

切切实实细节或许还待深入考虑一番,说到底,我当就是当确定盈利模式大方向的前提下举行片有点创新。不要当以时刻轴插入广告未具体,微信朋友围不呢会插入广告呢?我们都以为广告会毁掉微信生态圈,可是微信也格外明白,推送三只水平明显的广告制作话题,引爆了恋人围,化解了广告危机,这证明一切都产生方向,只是怎么运行罢了。

后续

当下只是当地服务,而且只是生一个API,之后会到再多的API,并且安排至阿里云之服务器上,先定下此略带目标吧!生命在折腾!

《浪潮的巅峰》中来如此同样截描述,我一直记深刻:”在 2000
年,如果假定问‘什么对互联网商家极要’,百分之百(而非是百分之九十九)的丁犹见面回‘流量’(traffic)。如果重复提问什么第二主要,得到的答案是一致的,还是‘流量’。”即使是离
2000 年互联网泡沫 15
年晚底今日,流量的价还是十分充分。知乎现在的很多应答,就在吸引着刚让人称羡的流量,这种巨大的流量,导致日轴广告有利可图。

4.数据库模型

屈居原文,可以望:https://zhuanlan.zhihu.com/p/21671539

搬迁数据库

一定给创造数量库表

python manage.py makemigrations

python manage.py migrate

本身系统的羁押了生知乎创始人周源的对外采访。很想得到之一点凡是,一提到知乎的盈利模式,周源似乎总当这么表态:知乎要举行互联网基础设备,产品做好盈利自然而然,现在先行不急考虑赚钱。然而当自身错过想创业企业之盈利模式,却一味这么认为:如果对一个出品有野心,而未是只有是怀念烧一烧投资人的钱,有必要在同开头想知道自己产品的盈利模式。即使公司以创业之初老麻烦赚,也肯定要是搞好一个约的构想,以便在适龄的空子适宜的节点切入盈利。也尽管
Rework
中涉嫌的,真正的事业由创始的率先龙开始就要求去担心如何赚钱之题材。

5.序列器(Serializers)

from .models import Article, Category
from rest_framework import serializers

class ArticleSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Article
        fields = ('title', 'date', 'url', 'category')

class CategorySerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Category
        fields = ('name', 'url')

屏幕快照 2017-12-29 下午5.47.23.png

发售死数额,出版,其实就是是销售模式,还是类似于京东底由下自销,现在来拘禁知乎已经应用了。

安装pip

sudo easy_install pip

出售死数额。乍一扣押或者有可能性,比如 Foursquare
就采访了多商家的信,进行数据解析后拿结果卖于铺。但是知乎上的数码都是文,没有章程量化分析,只能人工提炼。另外自然语言理解有格外非常的难度,已经算是世界难题,我思知乎现有的技巧还达成不至贾死数目的档次。

创建 Admin 后台管理员账户

用于登录后台
python manage.py createsuperuser

用户付费。比如付费提问,但是及时或多或少并无靠谱。按照周源的构想,人们以知乎写下对是认知盈余,是为了满足自我实现的价值、获取自我认同感,而非是以盈利。收费自然毁掉知乎文化,因此知乎肯定不见面于用户收费。但自从周源的言语中我们呢是可以看,互联网盈利或付费这么一起的,还是那么方面提到的章吧,作者说法虽然初步,但切莫免除是,加入刚干的http://www.quzhuanpan.com/啊天来只付费下载,这为是有着可能的。

2.跑起来

夺转盘网:http://www.quzhuanpan.com/止是临时性没有下广告,我是赞成的,其实就好像站或根本靠广告使知乎会略不侧重者这上头,但并无表示知乎上尚未广告。

运行Web 服务

python manage.py runserver

于浏览器输入 http://127.0.0.1:8000/ ,看到如下的页面提示信息

屏幕快照 2017-12-29 下午3.24.55.png

互联网的盈利模式也是以不断创新,但完全的本质还是归为若干,本人拙见,还往批评。

6.视图(Views)

from .models import Article, Category
from rest_framework import viewsets
from .serializers import ArticleSerializer, CategorySerializer

class ArticleViewSet(viewsets.ModelViewSet):
    queryset = Article.objects.all()
    serializer_class = ArticleSerializer

class CategoryViewSet(viewsets.ModelViewSet):
    queryset = Category.objects.all()
    serializer_class = CategorySerializer

屏幕快照 2017-12-29 下午5.50.49.png

8.测试API

http://127.0.0.1:8000/articles/

屏幕快照 2017-12-29 下午6.01.38.png

这还并未多少,需要往数据库里上加几长条数据

屏幕快照 2017-12-29 下午5.52.37.png

这边发出只问题输入中文后,后续添加修改会起编码错误的页面
用以manager.py 添加这段代码就从未有过问题了

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

增长通告

屏幕快照 2017-12-29 下午6.04.19.png

屏幕快照 2017-12-29 下午6.05.21.png

再试一下,YES!鸡冻!

屏幕快照 2017-12-29 下午6.06.24.png

但此地发现独稍题目,category字段应该只是归类的名字,我们改变下序列器,顺便把id
也丰富

class ArticleSerializer(serializers.HyperlinkedModelSerializer):
    category = serializers.ReadOnlyField(source='category.name')
    class Meta:
        model = Article
        fields = ('id', 'title', 'date', 'url', 'category')

class CategorySerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Category
        fields = ('id', 'name', 'url')

再试下

屏幕快照 2017-12-29 下午6.23.41.png

居功至伟告成!三单小时的结晶,对于新手来说就颇凉爽了

1.搭建筑环境

安装Django

sudo pip install Django==1.11

使顾的凡使根据自己的Python 语言版本选择相应之Django 版本,python
版本对承诺涉及

创办项目

django-admin startproject apiproject

改语言

settings.py

LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'

改为

# 把英文改为中文
LANGUAGE_CODE = 'zh-hans'

# 把国际时区改为中国时区
TIME_ZONE = 'Asia/Shanghai'

刷新下

屏幕快照 2017-12-29 下午4.30.41.png

创建model
from django.db import models

class Category(models.Model):
    name = models.CharField(max_length=100)
    url = models.CharField(max_length=200)

class Article(models.Model):
    title = models.CharField(max_length=200)
    date = models.CharField(max_length=50)
    url = models.CharField(max_length=200)
    category = models.ForeignKey(Category)

屏幕快照 2017-12-29 下午4.54.12.png

3.创办应用APP

当 Admin 后台注册模型
from django.contrib import admin
from .models import Category, Article

admin.site.register(Article)
admin.site.register(Category)

屏幕快照 2017-12-29 下午5.03.31.png

运作开发服务器,访问
http://127.0.0.1:8000/admin/
输入账号密码

屏幕快照 2017-12-29 下午5.04.02.png

添加App

屏幕快照 2017-12-29 下午4.57.38.png

创建

django-admin.py startapp api

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图