Assuming you already have virtualenv installed, create the manage.py
, which addresss the corretct
version of python interpretter:
#!/home/draagle/.virtualenvs/draagle.com/bin/python
from django.core import management
from django.views.generic.base import View, TemplateResponseMixin | |
from django.views.generic.edit import FormMixin, ProcessFormView | |
class MultipleFormsMixin(FormMixin): | |
""" | |
A mixin that provides a way to show and handle several forms in a | |
request. | |
""" | |
form_classes = {} # set the form classes as a mapping |
#views.py | |
from django.views.generic import UpdateView | |
class UpdateBook(UpdateView): | |
model = Book | |
form_class = BookForm | |
template_name = 'create_form.html' | |
success_url = '/books/' |
LOGGING = { | |
'version': 1, | |
'disable_existing_loggers': False, | |
'handlers': { | |
'mail_admins': { | |
'level': 'ERROR', | |
'class': 'django.utils.log.AdminEmailHandler' | |
}, | |
'null': { | |
'level':'DEBUG', |
== ORDER BY RANDOM() == | |
hs=> explain analyze select * from requests_request order by random() limit 1; | |
QUERY PLAN | |
----------------------------------------------------------------------------------------------------------------------------- | |
Limit (cost=21.12..21.13 rows=1 width=242) (actual time=1.447..1.448 rows=1 loops=1) | |
-> Sort (cost=21.12..22.00 rows=350 width=242) (actual time=1.445..1.445 rows=1 loops=1) | |
Sort Key: (random()) | |
Sort Method: top-N heapsort Memory: 18kB | |
-> Seq Scan on requests_request (cost=0.00..19.38 rows=350 width=242) (actual time=0.014..0.743 rows=352 loops=1) |
#Gist를 이용한 코드조각관리 이번 글에서는 Code Snippet이라 불리는 코드조각을 효과적으로 어떻게 관리할 수 있을까에 대한 하나의 방법을 논하고자 한다. 개발을 진행하다보면 무수히 많은 코드를 작성하게 된다. 때때로 작성한 코드 중의 일부를 나중에도 활용해보기 위해 코드를 분류한다. 대체로 이런 경우 자신만의 메모장을 활용하거나, 자주 사용하는 에디터를 활용해서 이를 관리하는 경향이 있다. 하지만 이런 방법은 코드가 많아질수록 검색하기가 쉽지 않고, 개발언어에 따라 효율적으로 코드를 관리하기도 어렵다. 또한 개발하는 IDE환경에서도 손쉽게 사용할 수 없으며, 사무실/집 등, 여러 장소에서 동일하게 사용하는 것도 불가능하다. (물론 Dropbox)와 같은 클라우드 서비스를 활용하면 어느정도 다양한 환경에서 활용가능하지만 이 방법은 회사와 같이 보안 상의 이유로 서비스가 막혀 있는 곳에서는 제대로 적용이 불가능한 문제가 발생한다.
많은 웹사이트 조사를 통해 다양한 Snippet관리 서비스를 찾아봤지만, 그 중에서 개발에 가장 유용한 방식은 GitHub에서 제공하는 Gist라는 서비스를 이용하는 것이었다. 따라서 본 세션에서는 Gist를 이용한 Snippet관리 방식을 알아보고자 한다. 또한 최근 각광받고 있는 Sublime Text에서 Gist플러그인을 활용하여 어떻게 효율적으로 개발Editor와 함께 사용할 수 있는지도 알아보고자 한다.
#Gist환경 셋팅
Gist 사용을 위해서는 GitHub 회원가입을 한다. Github는 매우 유명하고 널리 퍼져있는 서비스이므로 서비스가 중단될 걱정을 하지 않고 사용할 수 있다. 외국사이트이니만큼 회원정보도 과도하게 요구하지 않는다.
description "Test Django instance" | |
start on runlevel [2345] | |
stop on runlevel [06] | |
respawn | |
respawn limit 10 5 | |
exec /path/to/test/hello/script.sh | |
#!/bin/bash |
This article is now published on my website: Prefer Subshells for Context.
# simple form usage in view | |
def my_view(request, template_name='home.html'): | |
# sticks in a POST or renders an empty form | |
form = MyForm(request.POST or None) | |
if form.is_valid(): | |
do_something() | |
return redirect('/') | |
return render_to_response(template_name, {'form':form}) | |
# form with files |
$ sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql 1 ↵ ✹ ✭master ‹1.9.3-p125› | |
Successfully installed mysql-2.8.1 | |
$ sudo gem uninstall mysql ✹ ✭master ‹1.9.3-p125› | |
Successfully uninstalled mysql-2.8.1 | |
$ sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config ✹ ✭master ‹1.9.3-p125› | |
Fetching: mysql-2.8.1.gem (100%) | |
ERROR: Error installing mysql: | |
ERROR: Failed to build gem native extension. |