学完python后,该如何开始django学习?
看完了《简明python教程》,知道Django是python最常用的框架,是否需要专门地开始Django的学习?用什么书/社区?
顺便问一下,学完python和Django之后,对于开发一个网站而言可以做什么?可以完成整个后台?还是数据库?
回复内容:
读 Django tutorial。这是一份很好的上路文档。接下来,你需要做的是认真读 ORM 文档,了解 Django 的设计思想。
在接下来,你会发现你自己已经开始读 Django 核心源代码,因文档永远是不足的。
过早的优化是万恶之源。
在有新的 Django release 时,永远先读发行注记以便了解新版本带来的新特性以及被废弃的和将被废弃的 API。
一点适用于几乎所有的学习过程的建议是不要读中文文档,永远。否则你会发现你在翻译中文文档回英文以便理解其描述的含义,并猜测译者翻译时因不了解专有名词造成的猜测以得到的翻译内容的内容相对应的含义。 1. 读 The Django Book中文版,照着做
2. 读 Django documentation 完全理解,有问题,直接操作
3. 读源码, 最新的是1.6吧。
4. 自己写个相关的心得。
请按1~4顺序执行。
感谢@virusdefender 提示,中文的django book有一些错误,及过时的地方。
我当时看的是英文的 :-) 直接读django的官方文档,写的已经很完善了。 说说我自己的学习过程:
文档:
目前关于Django的中文书籍不多,我是从 The Django Book 开始学习的,这个文档可以帮助入门。
一些很细节性的东西,就需要去 Django documentation查阅了。
实际使用Django一段时间后发现, 更多的时候是在查阅Django documentation。
视频教程:
网易云课堂:Python Django 快速Web应用开发入门课程详情
多贝网:http://www.duobei.com/search?word=django&c=all
一个实例:
Welcome to Django by Example
我的实践:
用Django,可以做好业务逻辑层,当然也可以生成HTML,可以生成数据库表,但我的项目是HTML和数据库都是单独开发,配合Django做表单、数据库验证相关的东西。
得益于Python丰富的模块,Django可以做很多事情,而且开发效率也很高。
至于缺点,貌似开发出的产品性能相对较差。
题外话:
要开发网站,最好再学习一下数据库、HTML+JavaScript+CSS、HTTP等知识。 我的Python快速教程最后部分,是Django的教程。你可以参考一下。
学完之后,可以完成整个后台。 官方文档我记得有中文版,先认真看一遍,有个大概印象,知道那个功能该怎么写,用到哪些django的功能。然后开始写,边查文档边写,报错直接Google。失败几次不要紧,认真挺过这一关,再学其他web框架就顺利了,很多相似之处,一点就通。
我当时是从flask转过来的,直接边看文档边写,需要什么功能就是去查。我用flask的时候也是直接写,Python当时还不会,看了一两天语法就写,遇到要时间格式化呀,不会里面去查就会了。
语法不是问题,文档也不是问题,实践更能记住,也更有体会。或许有人说我这样不系统太马虎。但是一开始学习得太深入,其实根本不懂,看了一点感觉都没有。当去实践,有的感悟,再去看看文章书籍,感悟就不一样了。循序渐进,快速开发,自己用得舒服,问题能解决就OK。 学完 python 想学 django,正好我最近组织了一个 django 新人学习小组,并开始一边学习一边做项目实践。正好目前进行到第一周,小组正在做一个 Blog 程序,虽然简单,但是足以带你进入 django 开发的大门,欢迎 follow 我们,并期待您的建议和意见。
简单介绍一下小组的运作模式:我们在每个周末会开一个小组讨论会,讨论下一周的开发内容,每个人根据其分配的任务去学习相应的文档。但是不仅仅是做完自己的工作就完事了,每个人在学习的过程中还要把自己学的东西讲给全小组的人听(主要是写成一份和自己工作相关的文档),让其他的组员都明白你做了什么,这样你不仅学到了自己该学的,也学到了其他组员学到的东西。
目前我们正在进行第一周的项目,第一周的学习文档已经出来了,发布在简书上:Django学习小组出品:一起来做一个简单的Blog第一周文档(教程)。我把摘要部分贴出来,感兴趣的朋友可以去简书上阅读原文。
此外欢迎关注我们的 github 组织首页,所有项目的相关源代码都会上传到 github 上。每周更新,但是代码量不大,确保在新人的接受范围内,这样可以让新手完全跟上我们的学习和开发进度。
第一周文档的摘要:这一周我们小组完成了 Blog 首页的搭建。
——by Django 学习小组,期待您的建议和意见 我是从django官方的tutorial + the django book开始的本节是 django blog 项目的开篇,是 django 学习小组的集体学习成果。django学习小组是由我发起的一个促进 django 新手互相学习、互相帮助的组织。小组在一边学习 django 的同时将一起完成三个项目:
- 一个简单django blog,用于发布小组每周的学习和开发文档
- django中国社区,为国内的 django 开发者们提供一个长期维护的 django 社区,聚集全国的 django 开发者到这个社区上来
- django 问答社区, 类似于segmentfault 和 stackoverflow但更加专注(只专注于 django 开发的问题)的问答社区
目前小组正在完成第一个项目,本文即是该项目第一周的相关文档。
更多的信息请关注我们的 github 组织首页,本教程项目的相关源代码也已上传到 github 上。
同时,你也可以加入我们的邮件列表 django_study@groups.163.com ,随时关注我们的动态,我们会将每周的详细开发文档和代码通过邮件列表发出。
如有任何建议,欢迎提 Issue,欢迎fork,pull request,当然也别忘了 Starred 哦!
每周更新,敬请关注
然后,如果你是一个熟悉Wordpress的blogger,可以做个类似wordpress的、带有自己个性的多人blog系统,做完之后,django就合格入门了
再然后,你可以研究一下,如何给你的blog系统开放个RESTful API
ps:别忘记部署,我通常是基于nginx和uwsgi进行部署 20160309修改
根据这段时间的学习,我又重构了我的博客,欢迎参观点点寒彬的博客,源码目前还在改动,改动完毕后会上传到github。前端用的是Bootstrap实现的。
——————————————————分割线——————————
楼主可以看看我自己写Django的时候做的笔记吧,这是我的博客wyb199026的博客。一些细节的地方我也都写了,这个是成品网站点点寒彬的博客,我用SAE搭建的,目前还有一些功能需要优化。源码地址:diandianhanbin/MyBlog · GitHub
其实我觉得最好的学习方式就是直接看官方的文档了,我就是根据自己的想法参照官方文档写出来的,别人的东西只能给你参考,最终还是需要自己研究后写出来的才有意义。
PS:我也是新手 我是通过tango with django 入门的:How to Tango with Django: A Python Django Tutorial, 此外官方的Tutorial也刷过一遍,受益不少。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP와 Python은 고유 한 장점과 단점이 있으며 선택은 프로젝트 요구와 개인 선호도에 달려 있습니다. 1.PHP는 대규모 웹 애플리케이션의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 데이터 과학 및 기계 학습 분야를 지배합니다.

Python과 JavaScript는 커뮤니티, 라이브러리 및 리소스 측면에서 고유 한 장점과 단점이 있습니다. 1) Python 커뮤니티는 친절하고 초보자에게 적합하지만 프론트 엔드 개발 리소스는 JavaScript만큼 풍부하지 않습니다. 2) Python은 데이터 과학 및 기계 학습 라이브러리에서 강력하며 JavaScript는 프론트 엔드 개발 라이브러리 및 프레임 워크에서 더 좋습니다. 3) 둘 다 풍부한 학습 리소스를 가지고 있지만 Python은 공식 문서로 시작하는 데 적합하지만 JavaScript는 MDNWebDocs에서 더 좋습니다. 선택은 프로젝트 요구와 개인적인 이익을 기반으로해야합니다.

CentOS 시스템에서 Pytorch GPU 가속도를 활성화하려면 Cuda, Cudnn 및 GPU 버전의 Pytorch를 설치해야합니다. 다음 단계는 프로세스를 안내합니다. CUDA 및 CUDNN 설치 CUDA 버전 호환성 결정 : NVIDIA-SMI 명령을 사용하여 NVIDIA 그래픽 카드에서 지원하는 CUDA 버전을보십시오. 예를 들어, MX450 그래픽 카드는 CUDA11.1 이상을 지원할 수 있습니다. Cudatoolkit 다운로드 및 설치 : NVIDIACUDATOOLKIT의 공식 웹 사이트를 방문하여 그래픽 카드에서 지원하는 가장 높은 CUDA 버전에 따라 해당 버전을 다운로드하여 설치하십시오. CUDNN 라이브러리 설치 :

Docker는 Linux 커널 기능을 사용하여 효율적이고 고립 된 응용 프로그램 실행 환경을 제공합니다. 작동 원리는 다음과 같습니다. 1. 거울은 읽기 전용 템플릿으로 사용되며, 여기에는 응용 프로그램을 실행하는 데 필요한 모든 것을 포함합니다. 2. Union 파일 시스템 (Unionfs)은 여러 파일 시스템을 스택하고 차이점 만 저장하고 공간을 절약하고 속도를 높입니다. 3. 데몬은 거울과 컨테이너를 관리하고 클라이언트는 상호 작용을 위해 사용합니다. 4. 네임 스페이스 및 CGroup은 컨테이너 격리 및 자원 제한을 구현합니다. 5. 다중 네트워크 모드는 컨테이너 상호 연결을 지원합니다. 이러한 핵심 개념을 이해 함으로써만 Docker를 더 잘 활용할 수 있습니다.

Minio Object Storage : Centos System Minio 하의 고성능 배포는 Go Language를 기반으로 개발 한 고성능 분산 객체 저장 시스템입니다. Amazons3과 호환됩니다. Java, Python, JavaScript 및 Go를 포함한 다양한 클라이언트 언어를 지원합니다. 이 기사는 CentOS 시스템에 대한 Minio의 설치 및 호환성을 간단히 소개합니다. CentOS 버전 호환성 Minio는 다음을 포함하되 이에 국한되지 않는 여러 CentOS 버전에서 확인되었습니다. CentOS7.9 : 클러스터 구성, 환경 준비, 구성 파일 설정, 디스크 파티셔닝 및 미니를 다루는 완전한 설치 안내서를 제공합니다.

CentOS 시스템에 대한 Pytorch 분산 교육에는 다음 단계가 필요합니다. Pytorch 설치 : 전제는 Python과 PIP가 CentOS 시스템에 설치된다는 것입니다. CUDA 버전에 따라 Pytorch 공식 웹 사이트에서 적절한 설치 명령을 받으십시오. CPU 전용 교육의 경우 다음 명령을 사용할 수 있습니다. PipinStalltorchtorchvisiontorchaudio GPU 지원이 필요한 경우 CUDA 및 CUDNN의 해당 버전이 설치되어 있는지 확인하고 해당 PyTorch 버전을 설치하려면 설치하십시오. 분산 환경 구성 : 분산 교육에는 일반적으로 여러 기계 또는 단일 기계 다중 GPU가 필요합니다. 장소

CentOS 시스템에 Pytorch를 설치할 때는 적절한 버전을 신중하게 선택하고 다음 주요 요소를 고려해야합니다. 1. 시스템 환경 호환성 : 운영 체제 : CentOS7 이상을 사용하는 것이 좋습니다. Cuda 및 Cudnn : Pytorch 버전 및 Cuda 버전은 밀접하게 관련되어 있습니다. 예를 들어, pytorch1.9.0은 cuda11.1을 필요로하고 Pytorch2.0.1은 cuda11.3을 필요로합니다. CUDNN 버전도 CUDA 버전과 일치해야합니다. Pytorch 버전을 선택하기 전에 호환 CUDA 및 CUDNN 버전이 설치되었는지 확인하십시오. 파이썬 버전 : Pytorch 공식 지점

vs 코드에서는 다음 단계를 통해 터미널에서 프로그램을 실행할 수 있습니다. 코드를 준비하고 통합 터미널을 열어 코드 디렉토리가 터미널 작업 디렉토리와 일치하는지 확인하십시오. 프로그래밍 언어 (예 : Python의 Python Your_file_name.py)에 따라 실행 명령을 선택하여 성공적으로 실행되는지 여부를 확인하고 오류를 해결하십시오. 디버거를 사용하여 디버깅 효율을 향상시킵니다.
