mirror of
https://github.com/django/django.git
synced 2025-06-05 03:29:12 +00:00
magic-removal: Merged to [1686]
git-svn-id: http://code.djangoproject.com/svn/django/branches/magic-removal@1687 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
a01eab5049
commit
b5be4a4fcc
@ -199,7 +199,7 @@ td ul.errorlist li { margin:0 !important; }
|
|||||||
/* ACTION ICONS */
|
/* ACTION ICONS */
|
||||||
.addlink { padding-left:12px; background:url(../img/admin/icon_addlink.gif) 0 .2em no-repeat; }
|
.addlink { padding-left:12px; background:url(../img/admin/icon_addlink.gif) 0 .2em no-repeat; }
|
||||||
.changelink { padding-left:12px; background:url(../img/admin/icon_changelink.gif) 0 .2em no-repeat; }
|
.changelink { padding-left:12px; background:url(../img/admin/icon_changelink.gif) 0 .2em no-repeat; }
|
||||||
.deletelink { padding-left:12px; background:url(../img/admin/icon_deletelink.gif) 0 50% no-repeat; }
|
.deletelink { padding-left:12px; background:url(../img/admin/icon_deletelink.gif) 0 .2em no-repeat; }
|
||||||
a.deletelink:link, a.deletelink:visited { color:#CC3434; }
|
a.deletelink:link, a.deletelink:visited { color:#CC3434; }
|
||||||
a.deletelink:hover { color:#993333; }
|
a.deletelink:hover { color:#993333; }
|
||||||
|
|
||||||
|
@ -303,7 +303,7 @@ class _FileCache(_SimpleCache):
|
|||||||
os.remove(fname)
|
os.remove(fname)
|
||||||
else:
|
else:
|
||||||
return pickle.load(f)
|
return pickle.load(f)
|
||||||
except (IOError, OSError, pickle.PickleError):
|
except (IOError, OSError, EOFError, pickle.PickleError):
|
||||||
pass
|
pass
|
||||||
return default
|
return default
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
from django.core.template import resolve_variable, Library
|
from django.core.template import resolve_variable, Library
|
||||||
from django.conf.settings import DATE_FORMAT, TIME_FORMAT
|
from django.conf.settings import DATE_FORMAT, TIME_FORMAT
|
||||||
|
from django.utils.translation import gettext
|
||||||
import re
|
import re
|
||||||
import random as random_module
|
import random as random_module
|
||||||
|
|
||||||
@ -351,7 +352,7 @@ def divisibleby(value, arg):
|
|||||||
"Returns true if the value is devisible by the argument"
|
"Returns true if the value is devisible by the argument"
|
||||||
return int(value) % int(arg) == 0
|
return int(value) % int(arg) == 0
|
||||||
|
|
||||||
def yesno(value, arg=_("yes,no,maybe")):
|
def yesno(value, arg=None):
|
||||||
"""
|
"""
|
||||||
Given a string mapping values for true, false and (optionally) None,
|
Given a string mapping values for true, false and (optionally) None,
|
||||||
returns one of those strings accoding to the value:
|
returns one of those strings accoding to the value:
|
||||||
@ -365,7 +366,9 @@ def yesno(value, arg=_("yes,no,maybe")):
|
|||||||
``None`` ``"yeah,no"`` ``"no"`` (converts None to False
|
``None`` ``"yeah,no"`` ``"no"`` (converts None to False
|
||||||
if no mapping for None is given.
|
if no mapping for None is given.
|
||||||
========== ====================== ==================================
|
========== ====================== ==================================
|
||||||
"""
|
"""
|
||||||
|
if arg is None:
|
||||||
|
arg = gettext('yes,no,maybe')
|
||||||
bits = arg.split(',')
|
bits = arg.split(',')
|
||||||
if len(bits) < 2:
|
if len(bits) < 2:
|
||||||
return value # Invalid arg.
|
return value # Invalid arg.
|
||||||
@ -470,4 +473,4 @@ register.filter(urlize)
|
|||||||
register.filter(urlizetrunc)
|
register.filter(urlizetrunc)
|
||||||
register.filter(wordcount)
|
register.filter(wordcount)
|
||||||
register.filter(wordwrap)
|
register.filter(wordwrap)
|
||||||
register.filter(yesno)
|
register.filter(yesno)
|
||||||
|
@ -31,21 +31,24 @@
|
|||||||
import os, sys, thread, time
|
import os, sys, thread, time
|
||||||
|
|
||||||
RUN_RELOADER = True
|
RUN_RELOADER = True
|
||||||
reloadFiles = []
|
|
||||||
|
|
||||||
def reloader_thread():
|
def reloader_thread():
|
||||||
mtimes = {}
|
mtimes = {}
|
||||||
|
win = (sys.platform == "win32")
|
||||||
while RUN_RELOADER:
|
while RUN_RELOADER:
|
||||||
for filename in filter(lambda v: v, map(lambda m: getattr(m, "__file__", None), sys.modules.values())) + reloadFiles:
|
for filename in filter(lambda v: v, map(lambda m: getattr(m, "__file__", None), sys.modules.values())):
|
||||||
|
if filename.endswith(".pyc") or filename.endswith("*.pyo"):
|
||||||
|
filename = filename[:-1]
|
||||||
if not os.path.exists(filename):
|
if not os.path.exists(filename):
|
||||||
continue # File might be in an egg, so it can't be reloaded.
|
continue # File might be in an egg, so it can't be reloaded.
|
||||||
if filename.endswith(".pyc"):
|
stat = os.stat(filename)
|
||||||
filename = filename[:-1]
|
mtime = stat.st_mtime
|
||||||
mtime = os.stat(filename).st_mtime
|
if win:
|
||||||
|
mtime -= stat.st_ctime
|
||||||
if filename not in mtimes:
|
if filename not in mtimes:
|
||||||
mtimes[filename] = mtime
|
mtimes[filename] = mtime
|
||||||
continue
|
continue
|
||||||
if mtime > mtimes[filename]:
|
if mtime != mtimes[filename]:
|
||||||
sys.exit(3) # force reload
|
sys.exit(3) # force reload
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from django import models
|
from django import models
|
||||||
from django.core.xheaders import populate_xheaders
|
from django.core.xheaders import populate_xheaders
|
||||||
from django.core import template_loader, formfields, meta
|
from django.core.template import loader
|
||||||
|
from django.core import formfields, meta
|
||||||
from django.views.auth.login import redirect_to_login
|
from django.views.auth.login import redirect_to_login
|
||||||
from django.core.extensions import DjangoContext as Context
|
from django.core.extensions import DjangoContext as Context
|
||||||
from django.core.paginator import ObjectPaginator, InvalidPage
|
from django.core.paginator import ObjectPaginator, InvalidPage
|
||||||
@ -8,7 +9,7 @@ from django.utils.httpwrappers import HttpResponse, HttpResponseRedirect
|
|||||||
from django.core.exceptions import Http404, ObjectDoesNotExist, ImproperlyConfigured
|
from django.core.exceptions import Http404, ObjectDoesNotExist, ImproperlyConfigured
|
||||||
|
|
||||||
def create_object(request, app_label, module_name, template_name=None,
|
def create_object(request, app_label, module_name, template_name=None,
|
||||||
template_loader=template_loader, extra_context={},
|
template_loader=loader, extra_context={},
|
||||||
post_save_redirect=None, login_required=False, follow=None):
|
post_save_redirect=None, login_required=False, follow=None):
|
||||||
"""
|
"""
|
||||||
Generic object-creation function.
|
Generic object-creation function.
|
||||||
@ -70,7 +71,7 @@ def create_object(request, app_label, module_name, template_name=None,
|
|||||||
return HttpResponse(t.render(c))
|
return HttpResponse(t.render(c))
|
||||||
|
|
||||||
def update_object(request, app_label, module_name, object_id=None, slug=None,
|
def update_object(request, app_label, module_name, object_id=None, slug=None,
|
||||||
slug_field=None, template_name=None, template_loader=template_loader,
|
slug_field=None, template_name=None, template_loader=loader,
|
||||||
extra_lookup_kwargs={}, extra_context={}, post_save_redirect=None,
|
extra_lookup_kwargs={}, extra_context={}, post_save_redirect=None,
|
||||||
login_required=False, follow=None):
|
login_required=False, follow=None):
|
||||||
"""
|
"""
|
||||||
@ -145,7 +146,7 @@ def update_object(request, app_label, module_name, object_id=None, slug=None,
|
|||||||
|
|
||||||
def delete_object(request, app_label, module_name, post_delete_redirect,
|
def delete_object(request, app_label, module_name, post_delete_redirect,
|
||||||
object_id=None, slug=None, slug_field=None, template_name=None,
|
object_id=None, slug=None, slug_field=None, template_name=None,
|
||||||
template_loader=template_loader, extra_lookup_kwargs={},
|
template_loader=loader, extra_lookup_kwargs={},
|
||||||
extra_context={}, login_required=False):
|
extra_context={}, login_required=False):
|
||||||
"""
|
"""
|
||||||
Generic object-delete function.
|
Generic object-delete function.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from django.core import template_loader
|
from django.core.template import loader
|
||||||
from django.core.exceptions import Http404, ObjectDoesNotExist
|
from django.core.exceptions import Http404, ObjectDoesNotExist
|
||||||
from django.core.extensions import DjangoContext as Context
|
from django.core.extensions import DjangoContext as Context
|
||||||
from django.core.xheaders import populate_xheaders
|
from django.core.xheaders import populate_xheaders
|
||||||
@ -7,7 +7,7 @@ from django.utils.httpwrappers import HttpResponse
|
|||||||
import datetime, time
|
import datetime, time
|
||||||
|
|
||||||
def archive_index(request, app_label, module_name, date_field, num_latest=15,
|
def archive_index(request, app_label, module_name, date_field, num_latest=15,
|
||||||
template_name=None, template_loader=template_loader,
|
template_name=None, template_loader=loader,
|
||||||
extra_lookup_kwargs={}, extra_context={}, allow_empty=False):
|
extra_lookup_kwargs={}, extra_context={}, allow_empty=False):
|
||||||
"""
|
"""
|
||||||
Generic top-level archive of date-based objects.
|
Generic top-level archive of date-based objects.
|
||||||
@ -50,7 +50,7 @@ def archive_index(request, app_label, module_name, date_field, num_latest=15,
|
|||||||
return HttpResponse(t.render(c))
|
return HttpResponse(t.render(c))
|
||||||
|
|
||||||
def archive_year(request, year, app_label, module_name, date_field,
|
def archive_year(request, year, app_label, module_name, date_field,
|
||||||
template_name=None, template_loader=template_loader,
|
template_name=None, template_loader=loader,
|
||||||
extra_lookup_kwargs={}, extra_context={}):
|
extra_lookup_kwargs={}, extra_context={}):
|
||||||
"""
|
"""
|
||||||
Generic yearly archive view.
|
Generic yearly archive view.
|
||||||
@ -87,7 +87,7 @@ def archive_year(request, year, app_label, module_name, date_field,
|
|||||||
return HttpResponse(t.render(c))
|
return HttpResponse(t.render(c))
|
||||||
|
|
||||||
def archive_month(request, year, month, app_label, module_name, date_field,
|
def archive_month(request, year, month, app_label, module_name, date_field,
|
||||||
month_format='%b', template_name=None, template_loader=template_loader,
|
month_format='%b', template_name=None, template_loader=loader,
|
||||||
extra_lookup_kwargs={}, extra_context={}):
|
extra_lookup_kwargs={}, extra_context={}):
|
||||||
"""
|
"""
|
||||||
Generic monthly archive view.
|
Generic monthly archive view.
|
||||||
@ -136,7 +136,7 @@ def archive_month(request, year, month, app_label, module_name, date_field,
|
|||||||
|
|
||||||
def archive_day(request, year, month, day, app_label, module_name, date_field,
|
def archive_day(request, year, month, day, app_label, module_name, date_field,
|
||||||
month_format='%b', day_format='%d', template_name=None,
|
month_format='%b', day_format='%d', template_name=None,
|
||||||
template_loader=template_loader, extra_lookup_kwargs={},
|
template_loader=loader, extra_lookup_kwargs={},
|
||||||
extra_context={}, allow_empty=False):
|
extra_context={}, allow_empty=False):
|
||||||
"""
|
"""
|
||||||
Generic daily archive view.
|
Generic daily archive view.
|
||||||
@ -200,7 +200,7 @@ def archive_today(request, **kwargs):
|
|||||||
def object_detail(request, year, month, day, app_label, module_name, date_field,
|
def object_detail(request, year, month, day, app_label, module_name, date_field,
|
||||||
month_format='%b', day_format='%d', object_id=None, slug=None,
|
month_format='%b', day_format='%d', object_id=None, slug=None,
|
||||||
slug_field=None, template_name=None, template_name_field=None,
|
slug_field=None, template_name=None, template_name_field=None,
|
||||||
template_loader=template_loader, extra_lookup_kwargs={},
|
template_loader=loader, extra_lookup_kwargs={},
|
||||||
extra_context={}):
|
extra_context={}):
|
||||||
"""
|
"""
|
||||||
Generic detail view from year/month/day/slug or year/month/day/id structure.
|
Generic detail view from year/month/day/slug or year/month/day/id structure.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
from django import models
|
from django import models
|
||||||
from django.core import template_loader
|
from django.core.template import loader
|
||||||
from django.utils.httpwrappers import HttpResponse
|
from django.utils.httpwrappers import HttpResponse
|
||||||
from django.core.xheaders import populate_xheaders
|
from django.core.xheaders import populate_xheaders
|
||||||
from django.core.extensions import DjangoContext as Context
|
from django.core.extensions import DjangoContext as Context
|
||||||
@ -7,7 +7,7 @@ from django.core.paginator import ObjectPaginator, InvalidPage
|
|||||||
from django.core.exceptions import Http404, ObjectDoesNotExist
|
from django.core.exceptions import Http404, ObjectDoesNotExist
|
||||||
|
|
||||||
def object_list(request, app_label, module_name, paginate_by=None, allow_empty=False,
|
def object_list(request, app_label, module_name, paginate_by=None, allow_empty=False,
|
||||||
template_name=None, template_loader=template_loader,
|
template_name=None, template_loader=loader,
|
||||||
extra_lookup_kwargs={}, extra_context={}):
|
extra_lookup_kwargs={}, extra_context={}):
|
||||||
"""
|
"""
|
||||||
Generic list of objects.
|
Generic list of objects.
|
||||||
@ -80,7 +80,7 @@ def object_list(request, app_label, module_name, paginate_by=None, allow_empty=F
|
|||||||
|
|
||||||
def object_detail(request, app_label, module_name, object_id=None, slug=None,
|
def object_detail(request, app_label, module_name, object_id=None, slug=None,
|
||||||
slug_field=None, template_name=None, template_name_field=None,
|
slug_field=None, template_name=None, template_name_field=None,
|
||||||
template_loader=template_loader, extra_lookup_kwargs={},
|
template_loader=loader, extra_lookup_kwargs={},
|
||||||
extra_context={}):
|
extra_context={}):
|
||||||
"""
|
"""
|
||||||
Generic list of objects.
|
Generic list of objects.
|
||||||
|
@ -32,6 +32,18 @@ its setup.py utility. If it's not on your path, you can find it in
|
|||||||
``site-packages/django/bin``; consider symlinking to it from some place
|
``site-packages/django/bin``; consider symlinking to it from some place
|
||||||
on your path, such as /usr/local/bin.)
|
on your path, such as /usr/local/bin.)
|
||||||
|
|
||||||
|
.. admonition:: Where should this code live?
|
||||||
|
|
||||||
|
If your background is in PHP, you're probably used to putting code under the
|
||||||
|
Web server's document root (in a place such as ``/var/www``). With Django,
|
||||||
|
you don't do that. It's not a good idea to put any of this Python code within
|
||||||
|
your Web server's document root, because it risks the possibility that
|
||||||
|
people may be able to view your code over the Web. That's not good for
|
||||||
|
security.
|
||||||
|
|
||||||
|
Put your code in some directory **outside** of the document root, such as
|
||||||
|
``/home/mycode``.
|
||||||
|
|
||||||
A project is a collection of settings for an instance of Django -- including
|
A project is a collection of settings for an instance of Django -- including
|
||||||
database configuration, Django-specific options and application-specific
|
database configuration, Django-specific options and application-specific
|
||||||
settings. Let's look at what ``startproject`` created::
|
settings. Let's look at what ``startproject`` created::
|
||||||
|
Loading…
x
Reference in New Issue
Block a user