서버 정보 - 설치 구성django
6159 단어 django
sudo pip install Django==1.5.1
새로운 웹 서비스 만들기 (mysite, 루트 경로 설정, 데이터베이스 설정 등)
django-admin.py startproject mysite
새로운 웹 응용 프로그램 만들기 (books, 구체적인 코드 구현)
manage.py start app books
MVC 프레임워크와django는 모델,view 등 모듈을 제공하여 우리가 사용할 수 있도록 한다(그러나django의 모델은 데이터베이스 정의와 유사하고view는 MVC의 controller와template가 MVC의view와 유사하다) 편집 코드는 다음과 같다.
books/models.py
from django.db import models
# Create your models here.
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website = models.URLField()
def __unicode__(self):
return self.name
#class Author(models.Model):
# first_name = models.CharField(max_length=30)
# last_name = models.CharField(max_length=40)
# email = models.EmailField()
#
# def __unicode__(self):
# return u'%s %s' % (self.first_name, self.last_name)
#class Book(models.Model):
# title = models.CharField(max_length=100)
# authors = models.ManyToManyField(Author)
# publisher = models.ForeignKey(Publisher)
# publication_date = models.DateField()
#
# def __unicode__(self):
# return self.title
books/views.py
# Create your views here.
from django.shortcuts import render_to_response
from books.models import Publisher
def list_publishers(request):
publishers = Publisher.objects.all()
return render_to_response('list_publishers.html', {'publishers': publishers})
templates/list_publishers.html
<table>
{% for p in publishers %}
<tr>
<td>Id #{{ p.id }}</td>
<td>Name #{{ p.name }}</td>
</tr>
{% endfor %}
</table>
사용자 정의 설정 웹, 데이터베이스 연결 설정 등
mysite/settings.py
INSTALLED_APPS = (
'books',
)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': '/home/ciaos/django.sqlite3', # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': '',
'PASSWORD': '',
'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '', # Set to empty string for default.
}
}
TEMPLATE_DIRS = (
'/home/ciaos/mysite/templates',
)
mysite/urls.py(python의 강력한 정규 표현식 설정 루트를 이용)
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'mysite.views.home', name='home'),
# url(r'^mysite/', include('mysite.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
url(r'^publishers/',list_publishers)
)
python manager.py syncdb 데이터베이스에 동기화 모델
python 관리자를 통해pyshell 단순 조작 조회 데이터베이스
데이터베이스를 다음과 같이 실행합니다. (백그라운드에서 실행하려면 nohup을 사용할 수 있습니다.)
python manage.py runserver
ab로 테스트
ciaos@linux-53dr:~/mysite> sudo /usr/sbin/ab2 -c 10 -n 10000 http://127.0.0.1:8000/publishers/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 127.0.0.1 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software: WSGIServer/0.1
Server Hostname: 127.0.0.1
Server Port: 8000
Document Path: /publishers/
Document Length: 69 bytes
Concurrency Level: 10
Time taken for tests: 49.311 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 2020000 bytes
HTML transferred: 690000 bytes
Requests per second: 202.80 [#/sec] (mean)
Time per request: 49.311 [ms] (mean)
Time per request: 4.931 [ms] (mean, across all concurrent requests)
Transfer rate: 40.00 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 2 38.6 0 1001
Processing: 22 47 82.8 36 2562
Waiting: 6 41 82.7 31 2553
Total: 22 49 91.3 36 2562
Percentage of the requests served within a certain time (ms)
50% 36
66% 39
75% 41
80% 42
90% 52
95% 63
98% 100
99% 428
100% 2562 (longest request)
병발 데이터 등은 참고할 가치가 없다. 왜냐하면 내 노트북의 가상 기기에서 테스트한 것이기 때문에 주로 tornado 서버와 비교한다.django로 간편한 웹 응용을 실현하는 것은 여전히 매우 편리하다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.