设为首页 收藏本站
查看: 727|回复: 0

[经验分享] python django tutorial学习笔记

[复制链接]

尚未签到

发表于 2017-4-23 14:10:50 | 显示全部楼层 |阅读模式
www.youtube.com/
1. django_test chenxu$ python manage.py sql article
   生成sql语句

   django_test chenxu$ python manage.py syncdb
   数据库的生成

   python manage.py reset article;
   作用:remove table from database;

   使用python manage.py shell
   交互模式
   from article.models import Artile
   Article.objects.all()
   a = Article(title='test1',body='body1',pub_date=timezone.now)
   def __unicode__(self):
      return self.title
   帮助输出object对象内容,而不是一个指针地址;

2. python django tutorial 3
   views,simple urls and basic templates

   编写views
   def hello(request):
      return HttpResponse('hello')
   修改 project/urls.py
   url(r'^hello/$', 'article.views.hello', name='hello'),

   区别project and app
   project: django_test
   app: Article

   使用templates
   4种方式使用template
   a.    t = get_template('hello.html')
         html = t.render(Context({'name':name}))
         return HttpResponse(html)
         该种方式知道使用tempalte的原理
   b. render_to_response('hello.html',{'name':name})
      最简单的方式,但是不明白其中的原理;
   c.
   d.

3. python django tutorial 4
   advanced views and urls
   app中增加urls.py, 只和article app相关
   project/urls.py: url(r'^articles/',  include('article.urls')),
   articles/urls.py:    url(r'^all/$','views.articles'),
                        url(r'^get/(?P<article_id>\d+)/$','views.article'),
   创建articles/templates/articles.html
                        /article.html
   sqlite3命令
   sqlite3 storage.db
   .help获得帮助
   .tables 显示当前表格
   select * from tablename;

4. python django tutorial 5
   the built in Admin interface
   打开installed_app: admin
   碰到问题,无法登陆 localhost:8000/admin, 因为账号密码错误
   解决办法:重新创建superuser
   python manage.py createsuperuser --username=chenx --email=1@gmail.com  

5. python django tutorial 6
   django template language, 模版语言
   app/templates 从原来project目录迁移到app下面,保证可以复用;
   模版继承,提高效率
   {{article.body|lower|truncatewords:"20"}}

   truncatewords: 摘要模式显示(否则显示全部内容)  
   lower: 小写设置

   {% if articles.count > 0%}
   {%else %}
   None to show

   <%endif%

   base.html
   ariticles.html继承,并且可以重写其中的block content, block sidebar
   继承template语法:
   {% extends "base.html"%}

   继承重写内容
   {%block content%}
   {%endblock%}

   继承重写边框
   {%block sidebar%}
   {%endblock%}

6. python django tutorial
   static file, 静态文件
   抽出css文件,放在static文件夹中
   在project_test下面,增加文件夹static/css, static/images
   
   http://localhost:8000/static/css/default.css
   查看default.css 报错
   解决办法:
   需要注册到settings.py
   STATICFILES_DIRS = (
      ('assets','/Users/chenxu/work/python/django_test/static'),
   )


   修改base.html
   <link rel="stylesheet" type="text/css" href="{%static "assets/css/default.css"%}">
   {%load static%}

   命令:
   python manage.py collectstatic
   注意路径正确,另外配置是tuple

   浏览器访问地址
   http://localhost:8000/static/css/default.css
   出现错误:
   'css/default.css' could not be found
   解决办法:
   正确路径 http://localhost:8000/static/assets/css/default.css

7. python django tutorial 8
   cookies and sessions
   启用session模块
   settings.py
   django.contrib.session.middleware.SessionMiddleware

   改写views.py,演示cookie的使用

   错误:
   Could not parse the remainder: '%language%' from '%language%'

   解决办法:
   titles.html
   {%block content%}
   <h2> language is {{language}}<h2>
   <h2> session language is {{session_language}}</h2>
   {%endblock%}
   必须放在block内才会显示内容;

   response = HttpResponse('setting language to %s' %language)
   response.set_cookie('lang',language)

   cookie,session api
      if 'lang' in request.COOKIES:
      language = request.COOKIES['lang']
   
   if 'lang' in request.session:
      session_language = request.session['lang']

   response = HttpResponse('setting language to %s' %language)
   response.set_cookie('lang',language)
   request.session['lang'] = language

   参考cookie, session其他的api
   https://docs.djangoproject.com/en/dev/topics/http/sessions/

8. python django tutorial 9
   user login and logout
   installed_app: contrib.auth
   middleware: authenticationMiddleware

   访问http://localhost:8000/accounts/login/
   问题:
   TemplateDoesNotExist at /accounts/login/
   解决办法:
   settings.py
   TEMPLATE_DIRS = (
    ('/Users/chenxu/work/python/django_test/templates'),
    ('/Users/chenxu/work/python/django_test/articles/templates'),
   )此处要tuple数据格式

9.  python django tutorial 10
    user registration basics
    学习如何增加注册功能

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-368242-1-1.html 上篇帖子: python学习杂记(一) 下篇帖子: 服务器暂时无法响应您的请求 500 Internal Server Error
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表