#urls.py
<span style="font-family:Courier New;font-size:14px;">from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
# Examples:
# url(r'^$', 'mysite.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^hello/$', 'mysite.views.hi'),
]
</span>
#settings.py
<span style="font-family:Courier New;font-size:14px;">TEMPLATE_DIRS = (os.path.join(os.path.dirname(__file__), 'templates').replace('\\','/'),)</span>
<span style="font-family:Courier New;font-size:14px;"></pre><pre name="code" class="python">INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp', #这里写mysite.myapp报错
)
</span>
<span style="font-family:Courier New;font-size:14px;"></pre><pre name="code" class="python">DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'USER':'',
'PASSWORD':'',
'HOST':'',
'PORT':'',
}
}
</span>
#mytemplate.html
<span style="font-family:Courier New;font-size:14px;"><html>
<span style="white-space:pre"> </span><body>
<span style="white-space:pre"> </span><p>name:{{name}}<br/>
<span style="white-space:pre"> </span>mobile:{{mobile}}
<span style="white-space:pre"> </span></p>
<span style="white-space:pre"> </span></body>
</html></span>
#views.py
<span style="font-family:Courier New;font-size:14px;">#-*- coding:utf-8 -*-
from django.http import HttpResponse
"""
#most simple
def hi(request):
return HttpResponse("Hello world")
"""
"""
from django.template import Template, Context
def hi(request):
mytemplate="hello,my name is {{name}},i am a {{sex}}."
t=Template(mytemplate)
c=Context({'name':'abc','sex':'boy'})
html=t.render(c)
return HttpResponse(html)
"""
"""
#template loader
from django.template.loader import get_template
from django.template import Context
def hi(request):
t = get_template('mytemplate.html')
html = t.render(Context({'name':'abc','mobile':'12345'}))
return HttpResponse(html)
"""
#render_to_response
from django.shortcuts import render_to_response
from myapp.models import People
def hi(request):
rows = People.objects.filter(name='who')
for row in rows:
name=row.name
mobile=row.mobile
return render_to_response('mytemplate.html', {'name':name,'mobile':mobile})
</span>
#myapp.models.py
<span style="font-family:Courier New;font-size:14px;">from django.db import models
# Create your models here.
class People(models.Model):
name = models.CharField(max_length=20)
mobile = models.CharField(max_length=15)
def __str__(self):
return self.name
class Admin:
pass
</span>
<span style="font-family:Courier New;font-size:14px;">from django.contrib import admin
from myapp.models import People
# Register your models here.
admin.site.register(People)</span>
一个小问题是在管理站点中点击数据库表提示no such table的错误。
表单
要发送的东西是什么?发送到何处?怎么发送?由谁处理?如何返回数据?
name,value
action
method
由views的request处理
通过template.html中的{{}}变量控制
简单的input搜索框示例:
<span style="font-family:Courier New;font-size:14px;"><html>
<head>
</head>
<body>
<form action="." method="get">
<label for="q">name:<input type="text" name="q" id="search"/></label>
<input type="submit" name="" value="ok" οnclick="fun()"/>
</form>
<script>
function fun(){
var tmpstr=document.getElementById("search").value;
if(tmpstr) alert({{result}});
}
</script>
</body>
</html></span>