Upgrade to Django 1.10.
parent
9828c47783
commit
bd7f2bf027
|
@ -1,3 +1,5 @@
|
||||||
|
{% load static %}
|
||||||
|
|
||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block page-title %}Activate account{% endblock %}
|
{% block page-title %}Activate account{% endblock %}
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
from accounts import views
|
from accounts import views
|
||||||
from django.conf.urls import *
|
from django.conf.urls import url
|
||||||
|
|
||||||
urlpatterns = \
|
|
||||||
patterns('',
|
urlpatterns = [
|
||||||
url(r'^activate/$', views.activate,
|
url(r'^activate/$', views.activate,
|
||||||
name='account-activate'),
|
name='account-activate'),
|
||||||
url(r'^stats/$', views.stats, name='account-stats'),
|
url(r'^stats/$', views.stats, name='account-stats'),
|
||||||
url(r'^', views.account, name='account-detail'))
|
url(r'^', views.account, name='account-detail')
|
||||||
|
]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{% load snipt_tags %}
|
{% load snipt_tags static %}
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en" class="{% block html-class %}{% endblock %}">
|
<html lang="en" class="{% block html-class %}{% endblock %}">
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{% load snipt_tags typogrify_tags %}
|
{% load snipt_tags %}
|
||||||
|
|
||||||
<article class="group {% if detail %}detail{% endif %}">
|
<article class="group {% if detail %}detail{% endif %}">
|
||||||
{% if snipt.title != 'Work' %}
|
{% if snipt.title != 'Work' %}
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="content-inner">
|
<div class="content-inner">
|
||||||
<h1><a href="{{ snipt.get_full_absolute_url }}">{% firstof snipt.title|typogrify 'Untitled' %}</a></h1>
|
<h1><a href="{{ snipt.get_full_absolute_url }}">{% firstof snipt.title 'Untitled' %}</a></h1>
|
||||||
<div class="post-content autumn">
|
<div class="post-content autumn">
|
||||||
{% if snipt.lexer == 'markdown' %}
|
{% if snipt.lexer == 'markdown' %}
|
||||||
<div class="markdown">
|
<div class="markdown">
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
from django.conf.urls import *
|
from blogs import views
|
||||||
|
from django.conf.urls import url
|
||||||
|
|
||||||
urlpatterns = patterns('', url(r'^$', views.blog, name='blog'))
|
|
||||||
|
urlpatterns = [url(r'^$', views.blog, name='blog')]
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from annoying.functions import get_object_or_None
|
from annoying.functions import get_object_or_None
|
||||||
from django.shortcuts import get_object_or_404, render_to_response
|
from django.shortcuts import get_object_or_404, render
|
||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
from snipts.models import Snipt
|
from snipts.models import Snipt
|
||||||
|
|
||||||
|
@ -58,10 +58,11 @@ def blog_list(request, username_or_custom_slug=None):
|
||||||
|
|
||||||
template = '{}/list.html'.format(template)
|
template = '{}/list.html'.format(template)
|
||||||
|
|
||||||
return render_to_response(
|
return render(
|
||||||
|
request,
|
||||||
template,
|
template,
|
||||||
context,
|
context,
|
||||||
context_instance=RequestContext(request))
|
)
|
||||||
|
|
||||||
|
|
||||||
def blog_post(request, username_or_custom_slug):
|
def blog_post(request, username_or_custom_slug):
|
||||||
|
@ -115,13 +116,9 @@ def blog_post(request, username_or_custom_slug):
|
||||||
|
|
||||||
template = '{}/post.html'.format(template)
|
template = '{}/post.html'.format(template)
|
||||||
|
|
||||||
return render_to_response(template,
|
return render(request, template, context)
|
||||||
context,
|
|
||||||
context_instance=RequestContext(request))
|
|
||||||
|
|
||||||
|
|
||||||
def rss(request, context):
|
def rss(request, context):
|
||||||
return render_to_response('blogs/themes/default/rss.xml',
|
return render(request, 'blogs/themes/default/rss.xml', context,
|
||||||
context,
|
content_type="application/rss+xml")
|
||||||
context_instance=RequestContext(request),
|
|
||||||
content_type="application/rss+xml")
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Django==1.8.14
|
Django==1.10.3
|
||||||
Fabric==1.10.2
|
Fabric==1.10.2
|
||||||
PyYAML==3.11
|
PyYAML==3.11
|
||||||
Pygments==2.0.2
|
Pygments==2.0.2
|
||||||
|
@ -6,21 +6,21 @@ biplist==0.9
|
||||||
defusedxml==0.4.1
|
defusedxml==0.4.1
|
||||||
dj-database-url==0.3.0
|
dj-database-url==0.3.0
|
||||||
dj-static==0.0.6
|
dj-static==0.0.6
|
||||||
django-annoying==0.8.3
|
django-annoying==0.10.3
|
||||||
django-bcrypt==0.9.2
|
django-bcrypt==0.9.2
|
||||||
django-debug-toolbar==1.3.2
|
django-debug-toolbar==1.3.2
|
||||||
django-extensions==1.5.7
|
django-extensions==1.7.4
|
||||||
django-haystack==2.4.0
|
django-haystack==2.4.0
|
||||||
django-markdown-deux==1.0.5
|
django-markdown-deux==1.0.5
|
||||||
django-pagination-py3==1.1.0
|
django-pagination-py3==1.1.2
|
||||||
django-registration-redux==1.2
|
django-registration-redux==1.4
|
||||||
django-storages==1.1.8
|
django-storages==1.1.8
|
||||||
django-taggit==0.16.2
|
django-taggit==0.21.3
|
||||||
django-tastypie==0.12.2
|
django-tastypie==0.13.3
|
||||||
django-templatetag-sugar==1.0
|
-e git+ssh://git@github.com/nicksergeant/django-templatetag-sugar.git#egg=django-templatetag-sugar
|
||||||
ecdsa==0.13
|
ecdsa==0.13
|
||||||
elasticsearch==1.6.0
|
elasticsearch==1.6.0
|
||||||
gunicorn==19.3.0
|
gunicorn==19.6.0
|
||||||
lxml==3.4.4
|
lxml==3.4.4
|
||||||
markdown2==2.3.0
|
markdown2==2.3.0
|
||||||
paramiko==1.15.2
|
paramiko==1.15.2
|
||||||
|
@ -37,5 +37,4 @@ six==1.9.0
|
||||||
smartypants==1.8.6
|
smartypants==1.8.6
|
||||||
sqlparse==0.1.15
|
sqlparse==0.1.15
|
||||||
stripe==1.23.0
|
stripe==1.23.0
|
||||||
typogrify==2.0.7
|
|
||||||
urllib3==1.11
|
urllib3==1.11
|
||||||
|
|
34
settings.py
34
settings.py
|
@ -79,8 +79,24 @@ STATIC_URL = '/static/'
|
||||||
TASTYPIE_CANNED_ERROR = """There was an error with your request. The site
|
TASTYPIE_CANNED_ERROR = """There was an error with your request. The site
|
||||||
developers have a record of this error, please email api@snipt.net and
|
developers have a record of this error, please email api@snipt.net and
|
||||||
we'll help you out."""
|
we'll help you out."""
|
||||||
TEMPLATE_DIRS = (os.path.join(PROJECT_PATH, 'templates'),)
|
|
||||||
TEMPLATE_DEBUG = DEBUG
|
TEMPLATES = [
|
||||||
|
{
|
||||||
|
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||||
|
'DIRS': [os.path.join(PROJECT_PATH, 'templates')],
|
||||||
|
'APP_DIRS': True,
|
||||||
|
'OPTIONS': {
|
||||||
|
'context_processors': [
|
||||||
|
'django.template.context_processors.debug',
|
||||||
|
'django.template.context_processors.request',
|
||||||
|
'django.template.context_processors.static',
|
||||||
|
'django.contrib.auth.context_processors.auth',
|
||||||
|
'django.contrib.messages.context_processors.messages',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
TIME_ZONE = 'America/New_York'
|
TIME_ZONE = 'America/New_York'
|
||||||
USE_HTTPS = True if 'USE_SSL' in os.environ else False
|
USE_HTTPS = True if 'USE_SSL' in os.environ else False
|
||||||
USE_I18N = True
|
USE_I18N = True
|
||||||
|
@ -111,7 +127,6 @@ INSTALLED_APPS = (
|
||||||
'taggit',
|
'taggit',
|
||||||
'tastypie',
|
'tastypie',
|
||||||
'teams',
|
'teams',
|
||||||
'typogrify',
|
|
||||||
'user-admin',
|
'user-admin',
|
||||||
'utils',
|
'utils',
|
||||||
)
|
)
|
||||||
|
@ -136,19 +151,6 @@ MIDDLEWARE_CLASSES = (
|
||||||
'pagination.middleware.PaginationMiddleware',
|
'pagination.middleware.PaginationMiddleware',
|
||||||
'blogs.middleware.BlogMiddleware',
|
'blogs.middleware.BlogMiddleware',
|
||||||
)
|
)
|
||||||
TEMPLATE_CONTEXT_PROCESSORS = (
|
|
||||||
'django.contrib.auth.context_processors.auth',
|
|
||||||
'django.core.context_processors.debug',
|
|
||||||
'django.core.context_processors.i18n',
|
|
||||||
'django.core.context_processors.media',
|
|
||||||
'django.core.context_processors.request',
|
|
||||||
'django.core.context_processors.static',
|
|
||||||
'django.contrib.messages.context_processors.messages',
|
|
||||||
)
|
|
||||||
TEMPLATE_LOADERS = (
|
|
||||||
'django.template.loaders.filesystem.Loader',
|
|
||||||
'django.template.loaders.app_directories.Loader',
|
|
||||||
)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from settings_local import *
|
from settings_local import *
|
||||||
|
|
|
@ -205,7 +205,7 @@ class PublicTagResource(ModelResource):
|
||||||
max_limit = 200
|
max_limit = 200
|
||||||
cache = SimpleCache()
|
cache = SimpleCache()
|
||||||
|
|
||||||
def build_filters(self, filters=None):
|
def build_filters(self, filters=None, **kwargs):
|
||||||
if filters is None:
|
if filters is None:
|
||||||
filters = {}
|
filters = {}
|
||||||
|
|
||||||
|
@ -268,7 +268,7 @@ class PublicSniptResource(ModelResource):
|
||||||
|
|
||||||
return bundle
|
return bundle
|
||||||
|
|
||||||
def build_filters(self, filters=None):
|
def build_filters(self, filters=None, **kwargs):
|
||||||
if filters is None:
|
if filters is None:
|
||||||
filters = {}
|
filters = {}
|
||||||
|
|
||||||
|
@ -478,7 +478,7 @@ class PrivateSniptResource(ModelResource):
|
||||||
|
|
||||||
return bundle
|
return bundle
|
||||||
|
|
||||||
def build_filters(self, filters=None):
|
def build_filters(self, filters=None, **kwargs):
|
||||||
if filters is None:
|
if filters is None:
|
||||||
filters = {}
|
filters = {}
|
||||||
|
|
||||||
|
|
|
@ -1,50 +1,50 @@
|
||||||
from django.conf.urls import *
|
from django.conf.urls import url
|
||||||
from snipts import views
|
from snipts import views
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = \
|
urlpatterns = [
|
||||||
patterns('',
|
url(r'^s/(?P<snipt_key>[^/]+)/(?P<lexer>[^\?]+)?$',
|
||||||
url(r'^s/(?P<snipt_key>[^/]+)/(?P<lexer>[^\?]+)?$',
|
views.redirect_snipt, name='redirect-snipt'),
|
||||||
views.redirect_snipt, name='redirect-snipt'),
|
url(r'^(?P<username>[^/]+)/feed/$',
|
||||||
url(r'^(?P<username>[^/]+)/feed/$',
|
views.redirect_user_feed,
|
||||||
views.redirect_user_feed,
|
name='redirect-feed'),
|
||||||
name='redirect-feed'),
|
url(r'^public/tag/(?P<tag_slug>[^/]+)/feed/$',
|
||||||
url(r'^public/tag/(?P<tag_slug>[^/]+)/feed/$',
|
views.redirect_public_tag_feed,
|
||||||
views.redirect_public_tag_feed,
|
name='redirect-public-tag-feed'),
|
||||||
name='redirect-public-tag-feed'),
|
url(r'^(?P<username>[^/]+)/tag/(?P<tag_slug>[^/]+)/feed/$',
|
||||||
url(r'^(?P<username>[^/]+)/tag/(?P<tag_slug>[^/]+)/feed/$',
|
views.redirect_user_tag_feed,
|
||||||
views.redirect_user_tag_feed,
|
name='redirect-user-tag-feed'),
|
||||||
name='redirect-user-tag-feed'),
|
url(r'^public/$',
|
||||||
url(r'^public/$',
|
views.list_public,
|
||||||
views.list_public,
|
name='list-public'),
|
||||||
name='list-public'),
|
url(r'^public/tag/(?P<tag_slug>[^/]+)/$',
|
||||||
url(r'^public/tag/(?P<tag_slug>[^/]+)/$',
|
views.list_public,
|
||||||
views.list_public,
|
name='list-public-tag'),
|
||||||
name='list-public-tag'),
|
url(r'^download/(?P<snipt_key>[^/]+).*$',
|
||||||
url(r'^download/(?P<snipt_key>[^/]+).*$',
|
views.download,
|
||||||
views.download,
|
name='download'),
|
||||||
name='download'),
|
url(r'^embed/(?P<snipt_key>[^/]+)/$',
|
||||||
url(r'^embed/(?P<snipt_key>[^/]+)/$',
|
views.embed,
|
||||||
views.embed,
|
name='embed'),
|
||||||
name='embed'),
|
url(r'^raw/(?P<snipt_key>[^/]+)/(?P<lexer>[^\?]+)?$',
|
||||||
url(r'^raw/(?P<snipt_key>[^/]+)/(?P<lexer>[^\?]+)?$',
|
views.raw,
|
||||||
views.raw,
|
name='raw'),
|
||||||
name='raw'),
|
url(r'^report-spam/(?P<snipt_id>[^/]+)/$',
|
||||||
url(r'^report-spam/(?P<snipt_id>[^/]+)/$',
|
views.report_spam,
|
||||||
views.report_spam,
|
name='report-spam'),
|
||||||
name='report-spam'),
|
url(r'^(?P<username_or_custom_slug>[^/]+)/$',
|
||||||
url(r'^(?P<username_or_custom_slug>[^/]+)/$',
|
views.list_user,
|
||||||
views.list_user,
|
name='list-user'),
|
||||||
name='list-user'),
|
url(r'^(?P<username_or_custom_slug>[^/]+)/tag/(?P<tag_slug>[^/]+)/$',
|
||||||
url(r'^(?P<username_or_custom_slug>[^/]+)/tag/(?P<tag_slug>[^/]+)/$',
|
views.list_user,
|
||||||
views.list_user,
|
name='list-user-tag'),
|
||||||
name='list-user-tag'),
|
url(r'^(?P<username>[^/]+)/favorites/$',
|
||||||
url(r'^(?P<username>[^/]+)/favorites/$',
|
views.favorites,
|
||||||
views.favorites,
|
name='favorites'),
|
||||||
name='favorites'),
|
url(r'^(?P<username>[^/]+)/blog-posts/$',
|
||||||
url(r'^(?P<username>[^/]+)/blog-posts/$',
|
views.blog_posts,
|
||||||
views.blog_posts,
|
name='blog-posts'),
|
||||||
name='blog-posts'),
|
url(r'^(?P<username>[^/]+)/(?P<snipt_slug>[^/]+)/$',
|
||||||
url(r'^(?P<username>[^/]+)/(?P<snipt_slug>[^/]+)/$',
|
views.detail,
|
||||||
views.detail,
|
name='detail')
|
||||||
name='detail'))
|
]
|
||||||
|
|
|
@ -8,7 +8,7 @@ from django.core.paginator import Paginator, InvalidPage
|
||||||
from django.db.models import Count
|
from django.db.models import Count
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from django.http import Http404, HttpResponse, HttpResponseRedirect, HttpResponseBadRequest
|
from django.http import Http404, HttpResponse, HttpResponseRedirect, HttpResponseBadRequest
|
||||||
from django.shortcuts import get_object_or_404, render_to_response
|
from django.shortcuts import get_object_or_404, render
|
||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
from django.views.decorators.cache import never_cache
|
from django.views.decorators.cache import never_cache
|
||||||
from haystack.forms import ModelSearchForm
|
from haystack.forms import ModelSearchForm
|
||||||
|
@ -80,10 +80,10 @@ def embed(request, snipt_key):
|
||||||
snipt = get_object_or_404(Snipt, key=snipt_key)
|
snipt = get_object_or_404(Snipt, key=snipt_key)
|
||||||
|
|
||||||
lines = snipt.embedded.split('\n')
|
lines = snipt.embedded.split('\n')
|
||||||
return render_to_response('snipts/embed.html',
|
return render(request,
|
||||||
{'lines': lines, 'snipt': snipt},
|
'snipts/embed.html',
|
||||||
context_instance=RequestContext(request),
|
{'lines': lines, 'snipt': snipt},
|
||||||
content_type='application/javascript')
|
content_type='application/javascript')
|
||||||
|
|
||||||
|
|
||||||
def report_spam(request, snipt_id):
|
def report_spam(request, snipt_id):
|
||||||
|
@ -297,17 +297,17 @@ def raw(request, snipt_key, lexer=None):
|
||||||
if 'nice' in request.GET:
|
if 'nice' in request.GET:
|
||||||
content_type = 'text/html'
|
content_type = 'text/html'
|
||||||
|
|
||||||
return render_to_response('snipts/raw.html',
|
return render(request,
|
||||||
{'snipt': snipt},
|
'snipts/raw.html',
|
||||||
context_instance=RequestContext(request),
|
{'snipt': snipt},
|
||||||
content_type=content_type)
|
content_type=content_type)
|
||||||
|
|
||||||
|
|
||||||
def rss(request, context):
|
def rss(request, context):
|
||||||
return render_to_response('rss.xml',
|
return render(request,
|
||||||
context,
|
'rss.xml',
|
||||||
context_instance=RequestContext(request),
|
context,
|
||||||
content_type="application/rss+xml")
|
content_type="application/rss+xml")
|
||||||
|
|
||||||
|
|
||||||
@never_cache
|
@never_cache
|
||||||
|
@ -379,9 +379,7 @@ def search(request, template='search/search.html', load_all=True,
|
||||||
if extra_context:
|
if extra_context:
|
||||||
context.update(extra_context)
|
context.update(extra_context)
|
||||||
|
|
||||||
return render_to_response(template,
|
return render(request, template, context)
|
||||||
context,
|
|
||||||
context_instance=context_class(request))
|
|
||||||
|
|
||||||
|
|
||||||
def redirect_snipt(request, snipt_key, lexer=None):
|
def redirect_snipt(request, snipt_key, lexer=None):
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
from django.conf.urls import *
|
from django.conf.urls import url
|
||||||
from teams import views
|
from teams import views
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = \
|
urlpatterns = [
|
||||||
patterns('',
|
url(r'^for-teams/$', views.for_teams),
|
||||||
url(r'^for-teams/$', views.for_teams),
|
url(r'^for-teams/complete/$', views.for_teams_complete),
|
||||||
url(r'^for-teams/complete/$', views.for_teams_complete),
|
url(r'^(?P<username>[^/]+)/members/remove/(?P<member>[^/]+)/$',
|
||||||
url(r'^(?P<username>[^/]+)/members/remove/(?P<member>[^/]+)/$',
|
views.remove_team_member,
|
||||||
views.remove_team_member,
|
name='remove-team-member'),
|
||||||
name='remove-team-member'),
|
url(r'^(?P<username>[^/]+)/members/add/(?P<member>[^/]+)/$',
|
||||||
url(r'^(?P<username>[^/]+)/members/add/(?P<member>[^/]+)/$',
|
views.add_team_member,
|
||||||
views.add_team_member,
|
name='add-team-member'),
|
||||||
name='add-team-member'),
|
url(r'^(?P<username>[^/]+)/members/$',
|
||||||
url(r'^(?P<username>[^/]+)/members/$',
|
views.team_members,
|
||||||
views.team_members,
|
name='team-members')
|
||||||
name='team-members'))
|
]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{% load snipt_tags %}
|
{% load snipt_tags static %}
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en" class="{% block html-class %}{% endblock %}" ng-app="Snipt">
|
<html lang="en" class="{% block html-class %}{% endblock %}" ng-app="Snipt">
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% load humanize %}
|
{% load humanize static %}
|
||||||
|
|
||||||
{% block sub-header %}{% endblock %}
|
{% block sub-header %}{% endblock %}
|
||||||
{% block keyboard-shortcuts %}{% endblock %}
|
{% block keyboard-shortcuts %}{% endblock %}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{% if is_paginated %}
|
{% if is_paginated %}
|
||||||
{% load i18n %}
|
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
<ul>
|
<ul>
|
||||||
{% if page_obj.has_previous %}
|
{% if page_obj.has_previous %}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
{% block body-class %}{{ block.super }} static login{% endblock %}
|
{% block body-class %}{{ block.super }} static login{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<form class="form-horizontal static-box" method="post" action="{% url 'django.contrib.auth.views.login' %}">
|
<form class="form-horizontal static-box" method="post" action="{% url 'login' %}">
|
||||||
{% if request.GET.activationcomplete %}
|
{% if request.GET.activationcomplete %}
|
||||||
<div class="alert alert-success">
|
<div class="alert alert-success">
|
||||||
Successfully confirmed email! Log in below.
|
Successfully confirmed email! Log in below.
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow:
|
Disallow:
|
||||||
Disallow: /admin
|
Disallow: /admin
|
||||||
Sitemap: https://snipt.net/sitemap.xml
|
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
||||||
<url>
|
|
||||||
<loc>https://snipt.net/api/</loc>
|
|
||||||
<changefreq>monthly</changefreq>
|
|
||||||
<priority>1.0</priority>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://snipt.net/todo/</loc>
|
|
||||||
<changefreq>daily</changefreq>
|
|
||||||
<priority>1.0</priority>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://snipt.net/public/</loc>
|
|
||||||
<changefreq>always</changefreq>
|
|
||||||
<priority>1.0</priority>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://blog.snipt.net/</loc>
|
|
||||||
<changefreq>weekly</changefreq>
|
|
||||||
<priority>1.0</priority>
|
|
||||||
</url>
|
|
||||||
{% for tag in tags %}
|
|
||||||
<url>
|
|
||||||
<loc>https://snipt.net/public/tag/{{ tag.slug }}</loc>
|
|
||||||
<priority>0.9</priority>
|
|
||||||
</url>
|
|
||||||
{% endfor %}
|
|
||||||
</urlset>
|
|
86
urls.py
86
urls.py
|
@ -1,9 +1,11 @@
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from django.conf.urls import include, patterns, url
|
from django.conf.urls import include, url
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
from django.contrib.auth.views import login
|
||||||
from django.http import HttpResponseRedirect
|
from django.http import HttpResponseRedirect
|
||||||
from django.views.generic import RedirectView, TemplateView
|
from django.views.generic import RedirectView, TemplateView
|
||||||
|
from django.views.static import serve
|
||||||
from forms import AuthenticationFormWithInactiveUsersOkay
|
from forms import AuthenticationFormWithInactiveUsersOkay
|
||||||
from snipts.api import (PublicSniptResource,
|
from snipts.api import (PublicSniptResource,
|
||||||
PublicUserResource, PrivateSniptResource,
|
PublicUserResource, PrivateSniptResource,
|
||||||
|
@ -12,7 +14,7 @@ from snipts.api import (PublicSniptResource,
|
||||||
from snipts.views import search
|
from snipts.views import search
|
||||||
from tastypie.api import Api
|
from tastypie.api import Api
|
||||||
from utils.views import SniptRegistrationView
|
from utils.views import SniptRegistrationView
|
||||||
from views import (homepage, lexers, login_redirect, sitemap,
|
from views import (homepage, lexers, login_redirect,
|
||||||
tags, user_api_key)
|
tags, user_api_key)
|
||||||
|
|
||||||
public_api = Api(api_name='public')
|
public_api = Api(api_name='public')
|
||||||
|
@ -26,56 +28,50 @@ private_api.register(PrivateUserResource())
|
||||||
private_api.register(PrivateFavoriteResource())
|
private_api.register(PrivateFavoriteResource())
|
||||||
private_api.register(PrivateUserProfileResource())
|
private_api.register(PrivateUserProfileResource())
|
||||||
|
|
||||||
urlpatterns = \
|
urlpatterns = [
|
||||||
patterns('',
|
url(r'^$', homepage),
|
||||||
|
url(r'^login-redirect/$', login_redirect),
|
||||||
|
|
||||||
url(r'^$', homepage),
|
url(r'^admin/', include(admin.site.urls)),
|
||||||
url(r'^login-redirect/$', login_redirect),
|
|
||||||
|
|
||||||
url(r'^admin/', include(admin.site.urls)),
|
url(r'^404/$', TemplateView.as_view(template_name='404.html')),
|
||||||
|
url(r'^500/$', TemplateView.as_view(template_name='500.html')),
|
||||||
|
|
||||||
url(r'^404/$', TemplateView.as_view(template_name='404.html')),
|
url(r'^robots.txt$',
|
||||||
url(r'^500/$', TemplateView.as_view(template_name='500.html')),
|
TemplateView.as_view(template_name='robots.txt')),
|
||||||
|
url(r'^humans.txt$',
|
||||||
|
TemplateView.as_view(template_name='humans.txt')),
|
||||||
|
url(r'^tags/$', tags),
|
||||||
|
|
||||||
url(r'^robots.txt$',
|
url(r'^account/', include('accounts.urls')),
|
||||||
TemplateView.as_view(template_name='robots.txt')),
|
|
||||||
url(r'^humans.txt$',
|
|
||||||
TemplateView.as_view(template_name='humans.txt')),
|
|
||||||
url(r'^sitemap.xml$', sitemap),
|
|
||||||
url(r'^tags/$', tags),
|
|
||||||
|
|
||||||
url(r'^account/', include('accounts.urls')),
|
url(r'^api/public/lexer/$', lexers),
|
||||||
|
|
||||||
url(r'^api/public/lexer/$', lexers),
|
url(r'^api/private/key/$', user_api_key),
|
||||||
|
url(r'^api/', include(public_api.urls)),
|
||||||
|
url(r'^api/', include(private_api.urls)),
|
||||||
|
|
||||||
url(r'^api/private/key/$', user_api_key),
|
url(r'^search/$', search),
|
||||||
url(r'^api/', include(public_api.urls)),
|
|
||||||
url(r'^api/', include(private_api.urls)),
|
|
||||||
|
|
||||||
url(r'^search/$', search),
|
url(r'^register/$', lambda x: HttpResponseRedirect('/signup/')),
|
||||||
|
url(r'^signup/$', SniptRegistrationView.as_view(),
|
||||||
|
name='registration_register'),
|
||||||
|
url(r'^activate/complete/$', RedirectView.as_view(
|
||||||
|
url='/login-redirect/')),
|
||||||
|
url(r'^login/?$', login, {
|
||||||
|
'authentication_form': AuthenticationFormWithInactiveUsersOkay
|
||||||
|
}, name='login'),
|
||||||
|
url(r'', include('registration.backends.default.urls')),
|
||||||
|
|
||||||
url(r'^register/$', lambda x: HttpResponseRedirect('/signup/')),
|
url(r'^', include('teams.urls')),
|
||||||
url(r'^signup/$', SniptRegistrationView.as_view(),
|
url(r'^', include('snipts.urls')),
|
||||||
name='registration_register'),
|
|
||||||
url(r'^activate/complete/$', RedirectView.as_view(
|
|
||||||
url='/login-redirect/')),
|
|
||||||
url(r'^login/?$', 'django.contrib.auth.views.login', {
|
|
||||||
'authentication_form': AuthenticationFormWithInactiveUsersOkay
|
|
||||||
}),
|
|
||||||
url(r'', include('registration.backends.default.urls')),
|
|
||||||
|
|
||||||
url(r'^', include('teams.urls')),
|
url(r'^(?P<path>favicon\.ico)$', serve, {
|
||||||
url(r'^', include('snipts.urls')),
|
'document_root': os.path.join(os.path.dirname(__file__),
|
||||||
|
'static/img')
|
||||||
url(r'^(?P<path>favicon\.ico)$', 'django.views.static.serve', {
|
}),
|
||||||
'document_root': os.path.join(os.path.dirname(__file__),
|
url(r'^static/(?P<path>.*)$', serve, {
|
||||||
'static/img')
|
'document_root': os.path.join(os.path.dirname(__file__),
|
||||||
}),
|
'media')
|
||||||
)
|
})
|
||||||
|
]
|
||||||
urlpatterns += \
|
|
||||||
patterns('',
|
|
||||||
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {
|
|
||||||
'document_root': os.path.join(os.path.dirname(__file__),
|
|
||||||
'media')
|
|
||||||
}))
|
|
||||||
|
|
14
views.py
14
views.py
|
@ -6,7 +6,7 @@ from blogs.views import blog_list
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.db.models import Count
|
from django.db.models import Count
|
||||||
from django.http import HttpResponseRedirect, HttpResponseBadRequest
|
from django.http import HttpResponseRedirect, HttpResponseBadRequest
|
||||||
from django.shortcuts import render_to_response
|
from django.shortcuts import render
|
||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
from snipts.models import Snipt
|
from snipts.models import Snipt
|
||||||
from snipts.utils import get_lexers_list
|
from snipts.utils import get_lexers_list
|
||||||
|
@ -78,18 +78,6 @@ def login_redirect(request):
|
||||||
return HttpResponseRedirect('/')
|
return HttpResponseRedirect('/')
|
||||||
|
|
||||||
|
|
||||||
def sitemap(request):
|
|
||||||
|
|
||||||
tags = Tag.objects.filter(snipt__public=True)
|
|
||||||
tags = tags.annotate(count=Count('taggit_taggeditem_items__id'))
|
|
||||||
tags = tags.order_by('-count')[:1000]
|
|
||||||
|
|
||||||
return render_to_response('sitemap.xml',
|
|
||||||
{'tags': tags},
|
|
||||||
context_instance=RequestContext(request),
|
|
||||||
content_type='application/xml')
|
|
||||||
|
|
||||||
|
|
||||||
@render_to('tags.html')
|
@render_to('tags.html')
|
||||||
def tags(request):
|
def tags(request):
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue