对于开发模式:
相对目录:
os.path.join( os.path.dirname( __file__ ), 'templates' ).replace( '\\', '/' )
静态文件影射
(r'^(?P<path>.*)$','django.views.static.serve',{'document_root':STATIC_ROOT}),
(r'^about/$',TemplateView.as_view(template_name='hello.htm')),
(r'^about/$', 'django.views.generic.simple.direct_to_template.direct_to_template',
{'template': 'about.html'}),
(r'^haha/$', django.views.generic.ListView.as_view(queryset=Author.objects.all(),
context_object_name='lst',template_name='temp.htm')),#通用view
(r'^haha/(?P
\d+)$', DetailView.as_view(model=Author,context_object_name='lst',
template_name='temp.htm'),{'pk':'1'}), #pk必须有,表示主键,我这里是手工直接指定,可以从url获得pk
用户登录:
(r'^accounts/login/$','django.contrib.auth.views.login'),
注意表单需要 {% csrf_token %} //注销也一样
家用户:user 等同于request.user和下面的user
user=django.contrib.auth.models.User.objects.create_user(username,email,password)
user.delete()
手工认证也一样:
from django.contrib.auth import authenticate,login,logout
c=request.POST
u=authenticate(username=c['username'],password=c['password'])
if u:
login(request,u)
#logout(request)
if request.user.is_authenticated():
request.user.check_password('123')
request.user.set_password('123')
request.user.save()
设置返回主机头,设置cookie
def setcookie(request):
response=HttpResponse()
response.write('hello world1')
response['Server']='IIS'
response.set_cookie(key, value, max_age, expires, path, domain, secure, httponly)
return response
def setcookie(request):
v=request.COOKIES.get('key','未得到')
设置session
request.session.get('has_commented', False)#获得
request.session['key']='value' #设置
方便管理用:
class admBlog(admin.ModelAdmin):
list_display=('title','time','name')
admin.site.register(MyBlog,admBlog)
注意list_display还有很多属性,可以参考文档