国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - 在Python的Django框架中實(shí)現(xiàn)Hacker News的一些功能

在Python的Django框架中實(shí)現(xiàn)Hacker News的一些功能

2020-06-08 10:23腳本之家 Python

這篇文章主要介紹了在Python的Django框架中實(shí)現(xiàn)Hacker News的一些功能,包括投票“頂”評(píng)論等功能,需要的朋友可以參考下

逐步指示

這是提供給更喜歡閱讀的人的視頻文本版本。我們將創(chuàng)建一個(gè)類似黑客新聞Reddit的社交新聞網(wǎng)站。它將被稱為“鋼鐵傳聞”,作為一個(gè)分享關(guān)于“鋼鐵俠”的有趣傳聞和對(duì)其進(jìn)行投票的地方。

屏幕錄像第一部分的概述:

  •     目標(biāo)
  •     虛擬環(huán)境- 從零開始!
  •     模型管理 - 夢(mèng)想的工作 #78
  •     基本的模板
  •     通用視圖 - 新聞列表視圖和 新聞細(xì)節(jié)視圖
  •     分頁(yè)-免費(fèi)!!


設(shè)置虛擬環(huán)境

    我們將用virtualenv virtualenvwrapper來建立一個(gè)虛擬開發(fā)環(huán)境。首先請(qǐng)確認(rèn)你已經(jīng)安裝了它們:

    

?
1
mkvirtualenv djangorocks

    我在屏幕錄像中使用的是一個(gè)叫Xubuntu的變種Ubuntu系統(tǒng)。但你應(yīng)該能夠在其他的操作系統(tǒng)以最小的改變重復(fù)這些步驟。

    安裝 Django (請(qǐng)確認(rèn)你已經(jīng)安裝了pip ):
 

?
1
pip install Django==1.5

    你也可以使用 Django 1.5.1. 這些方法和代碼在最新的 Django 版本中沒有測(cè)試過能否工作,所以最好按照本教程使用的版本來學(xué)習(xí)。

創(chuàng)建工程和應(yīng)用

    創(chuàng)建一個(gè)名為steelrumors的工程:
 

復(fù)制代碼 代碼如下:

    cd ~/projects
    django-admin.py startproject steelrumors
    cd steelrumors
    chmod +x manage.py

 

    在你喜愛的編輯器中打開steelrumors/settings.py文件。定位和改變下列內(nèi)容 (改變用粗體顯示):
       

復(fù)制代碼 代碼如下:
'ENGINE': 'django.db.backends.sqlite3'
        'NAME': 'database.db',


        最后 INSTALLED_APPS = ( 'django.contrib.admin',

 

    接下來,修改steelrumors/urls.py,取消下列行的注釋:
 
    

?
1
2
3
4
5
6
from django.contrib import admin
  admin.autodiscover()
   
  urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
  )

    同步創(chuàng)建管理對(duì)象并進(jìn)入管理詳細(xì)資料:

  

?
1
./manage.py syncdb

    打開一個(gè)新標(biāo)簽或一個(gè)新終端并保持服務(wù)器實(shí)例在運(yùn)行(不要忘了在這個(gè)終端上發(fā)布可工作的djangorocks):
 

?
1
./manage.py runserver

    訪問管理頁(yè) (一般是 http://127.0.0.1:8000/admin/) 并登錄.

    創(chuàng)建鏈接應(yīng)用:
 

?
1
./manage.py startapp links

    輸入下面兩個(gè)模型類到links/models.py文件中:
 
  

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from django.db import models
 from django.contrib.auth.models import User
  
 class Link(models.Model):
   title = models.CharField("Headline", max_length=100)
   submitter = models.ForeignKey(User)
   submitted_on = models.DateTimeField(auto_now_add=True)
   rank_score = models.FloatField(default=0.0)
   url = models.URLField("URL", max_length=250, blank=True)
   description = models.TextField(blank=True)
  
   def __unicode__(self):
     return self.title
  
 class Vote(models.Model):
   voter = models.ForeignKey(User)
   link = models.ForeignKey(Link)
  
   def __unicode__(self):
     return "%s upvoted %s" % (self.voter.username, self.link.title)

    建立相應(yīng)的管理類。輸入下面內(nèi)容到 links/admin.py 中:
 
   

?
1
2
3
4
5
6
7
8
from django.contrib import admin
 from .models import Link, Vote
  
 class LinkAdmin(admin.ModelAdmin): pass
 admin.site.register(Link, LinkAdmin)
  
 class VoteAdmin(admin.ModelAdmin): pass
 admin.site.register(Vote, VoteAdmin)

    輸入下面內(nèi)容到links/views.py:
 
  

?
1
2
3
4
5
6
7
8
9
10
11
12
from django.views.generic import ListView
 from .models import Link, Vote
  
 class LinkListView(ListView):
   model = Link
 
 Insert following lines intosteelrumor/urls.py:
 
 from links.views import LinkListView
 ...
 urlpatterns = patterns('',
   url(r'^$', LinkListView.as_view(), name='home'),

    建立一個(gè)新的模板文件夾,在steelrumors/templates/links/link_list.html中輸入下面內(nèi)容:
 
    

?
1
2
3
4
5
6
7
8
9
<ol>
  {% for link in object_list %}
    <li>
    <a href="{{ link.url }}">
     <b>{{ link.title }}</b>
    </a>
    </li>
  {% endfor %}
  </ol>

    編輯settings.py,添加你的兩個(gè)應(yīng)用到INSTALLED_APPS = (的尾部:
  

?
1
2
3
'links',
'steelrumors',
)

    同步建立鏈接對(duì)象,并在管理界面里輸入一些數(shù)據(jù):
  
 

?
1
./manage.py syncdb

 添加品牌

    建立一個(gè)通用基本模板steelrumors/templates/base.html:
 
   

?
1
2
3
4
5
6
7
8
9
<html>
 <body>
 <h1>Steel Rumors</h1>
  
 {% block content %}
 {% endblock %}
  
 </body>
 </html>

    修改steelrumors/templates/links/link_list.html,用這種方式把原先代碼包裹起來:

    

?
1
2
3
4
5
{% extends "base.html" %}
 
{% block content %}
...
{% endblock %}

投票數(shù)模型管理器

    我們需要在我們的通用ListView中添加一個(gè)計(jì)票數(shù)。添加這些到 links/models.py:
 
 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from django.db.models import Count
 
class LinkVoteCountManager(models.Manager):
  def get_query_set(self):
    return super(LinkVoteCountManager, self).get_query_set().annotate(
      votes=Count('vote')).order_by('-votes')
 
Insert these two lines into the Link class inlinks/models.py:
 
class Link(models.Model):
...
 
  with_votes = LinkVoteCountManager()
  objects = models.Manager() #default manager

    編輯 links/views.py,添加這兩行到LinkListView類中:
   
   

?
1
2
3
4
5
class LinkListView(ListView):
 ...
  
   queryset = Link.with_votes.all()
   paginate_by = 3

狂歡(作弊)

您可以在django shell中用下面的行給隨機(jī)的標(biāo)題添加100個(gè)選票數(shù):
 

?
1
2
3
$ ./manage.py shell
>>> from links.models import Link
>>> for i in xrange(100): Vote(link=Link.objects.order_by('?')[0],voter=a).save()

最終評(píng)論

或許你想知道這個(gè)網(wǎng)站的這個(gè)版本是否有用,我想說,它作為私人測(cè)試版是工作不錯(cuò)的。任何新用戶都必須通過管理界面手動(dòng)添加。如果想讓他們登陸管理界面,他們必須是員工。員工可以通過手動(dòng)創(chuàng)建投票對(duì)象來進(jìn)行投票。

站點(diǎn)面向大眾的部分仍能顯示來自員工投票率最高的傳聞。基于如何設(shè)計(jì)好的模板的問題,這個(gè)版本也可以用來獲取對(duì)網(wǎng)站的設(shè)計(jì)和品牌的反饋。

總結(jié)完第一部分。想得到隨后部分的更新,請(qǐng)?jiān)赥witter上粉我一個(gè)@arocks。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国外精品久久久蜜桃免费全文阅读 | 成人欧美一区二区三区在线播放 | 精品视频一区二区三区 | 91精品欧美久久久久久动漫 | 欧美精品综合 | 久久精品亚洲精品国产欧美kt∨ | 色综合成人 | а天堂中文最新一区二区三区 | 国产一区不卡视频 | 精品国产91亚洲一区二区三区www | 精品亚洲一区二区 | 日韩成人精品在线观看 | 91xxx在线观看 | 亚洲a精品| 精品视频免费在线 | 精品久久久久久久中文字幕 | 欧美日韩午夜 | 午夜寂寞少妇aaa片毛片 | 久久久久久久国产 | a在线免费观看 | 欧美午夜一区二区福利视频 | 黄色免费观看网址 | 高清视频一区二区三区 | 国产黄色小视频 | 99精品欧美一区二区蜜桃免费 | 亚洲欧美日韩电影 | 久久久久国产精品 | 日韩欧美国产精品 | 伊人6 | 国内外成人在线视频 | 伊人青青草| 亚洲美女一区 | 一级黄色在线 | 三级在线观看网站 | 欧美日韩中文 | 欧美啪啪一区二区 | 亚洲国产青草 | 国产高清在线a视频大全 | 午夜免费电影 | www.91色.com | 久久免费国产精品 |