Python Course Content
QUALITY THOUGHT * www.facebook.com/qtworld * www.qualitythought.in PH: 9963799240, 8142193750 * Location: Ameerpet * Email: [email protected]
START DATE :
TIMINGS :
DURATION :
TYPE OF BATCH :
FEE :
FACULTY NAME :
We are ready to serve Latest Testing Trends, Are you ready to learn.
New Batches Info
Web Development with Django
Unit Testing with Python
(pytest)
Design Patterns
Python Course Content
QUALITY THOUGHT * www.facebook.com/qtworld * www.qualitythought.in PH: 9963799240, 8142193750 * Location: Ameerpet * Email: [email protected]
Web Development with Django
1. Getting Started
a. Introducing Django
i. Installing Django
ii. Installing a Python Virtual Environment
iii. Setting up a database
iv. Starting a project
v. The Model-View-Controller design pattern
2. Views and URLconfs
a. Sample Django-Powered Page: Hello World
i. Your first view
ii. Your first URLconf
iii. Regular expressions
iv. A quick note about 404 errors
v. A quick note about the site root
vi. How Django processes a request
b. Dynamic Content
c. Dynamic URLs
d. Django’s pretty error pages
3. Templates
a. Template System Basics
b. Using the template system
c. Dictionaries and contexts
d. Basic template-tags and filters
e. Philosophies and limitations
f. Using templates in views
g. Template loading
h. render()
i. Template subdirectories
j. The include template tag
k. Template inheritance
4. Models
a. The "dumb" way to do database queries in views
b. Configuring the database
c. Your first app
d. Defining Models in Python
e. Basic data access
5. The Django Admin Site
a. Using the admin site
i. Start the development server
Python Course Content
QUALITY THOUGHT * www.facebook.com/qtworld * www.qualitythought.in PH: 9963799240, 8142193750 * Location: Ameerpet * Email: [email protected]
ii. Enter the admin site
b. Adding your models to the admin site
c. Making fields optional
d. Customizing field labels
e. Custom model admin classes
f. Users, groups, and permissions
g. When and why to use the admin interface-and when not to
6. Forms
a. Getting data from the Request Object
i. Information about the URL
ii. Other information about the Request
iii. Information about submitted data
b. A simple form-handling example
i. Query string parameters
c. Improving our simple form-handling example
d. Simple validation
e. Making a contact form
f. Tying form objects into views
g. Changing how fields are rendered
h. Setting a maximum length
i. Setting initial values
j. Custom validation rules
k. Specifying labels
l. Customizing form design
7. Advanced Views and URL confs
a. URLconf Tips and Tricks
i. Streamlining function imports
ii. Special-Casing URLs in debug mode
iii. Named groups Preview
1. The matching/grouping algorithm
iv. What the URLconf searches against
v. Captured arguments are always strings
vi. Specifying defaults for view arguments
b. Performance
c. Error handling
d. Including other URLconfs
i. Captured parameters
e. Passing extra options to view functions
i. Passing extra options to include()
f. Reverse resolution of URLs
Python Course Content
QUALITY THOUGHT * www.facebook.com/qtworld * www.qualitythought.in PH: 9963799240, 8142193750 * Location: Ameerpet * Email: [email protected]
g. Naming URL patterns
h. URL namespaces
i. Reversing namespaced URLs
ii. URL namespaces and included URLconfs
8. Advanced Templates
a. Template language review
b. Requestcontext and context processors
i. auth
ii. DEBUG
iii. i18n
iv. MEDIA
v. static
vi. csrf
vii. Request
viii. messages
c. Guidelines for writing our own context processors
d. Automatic HTML escaping
i. How to turn it off
ii. For individual variables
iii. For template blocks
iv. Automatic escaping of string literals in filter arguments
e. Inside Template loading
i. The DIRS option
ii. Loader types
1. Filesystem loader
2. App directories loader
3. Other loaders
f. Extending the template system
i. Code layout
ii. Creating a template library
g. Custom template tags and filters
i. Writing custom template filters
1. Registering custom filters
2. Template filters that expect strings
3. Filters and auto-escaping
4. Filters and time zones
ii. Writing custom template tags
1. Simple tags
2. Inclusion tags
3. Assignment tags
Python Course Content
QUALITY THOUGHT * www.facebook.com/qtworld * www.qualitythought.in PH: 9963799240, 8142193750 * Location: Ameerpet * Email: [email protected]
h. Advanced custom template tags
i. A quick overview
ii. Writing the compilation function
iii. Writing the renderer
iv. Auto-escaping Considerations
v. Thread-safety Considerations
vi. Registering the tag
vii. Passing template variables to The Tag
viii. Setting a variable in the context
1. Variable scope in context
ix. Parsing until another block tag
x. Parsing until another block tag, and saving contents
9. Advanced Models
a. Related objects
i. Accessing ForeignKey values
ii. Accessing many-to-many values
b. Managers
i. Adding extra manager methods
ii. Modifying initial manager QuerySets
c. Model methods
i. Overriding predefined model methods
d. Executing raw SQL queries
e. Performing raw queries
i. Model table names
ii. Mapping query fields to model fields
iii. Index lookups
iv. Deferring model fields
v. Adding annotations
vi. Passing parameters into raw()
f. Executing custom SQL directly
i. Connections and cursors
ii. Adding extra Manager methods
10. Generic Views
a. Generic views of objects
b. Making "friendly" template contexts
c. Adding extra context
d. Viewing subsets of objects
e. Dynamic filtering
f. Performing extra work
11. User Authentication in Django
Python Course Content
QUALITY THOUGHT * www.facebook.com/qtworld * www.qualitythought.in PH: 9963799240, 8142193750 * Location: Ameerpet * Email: [email protected]
a. Overview
b. Using the Django authentication system
c. User objects
i. Creating superusers
ii. Creating users
iii. Changing passwords
d. Permissions and authorization
i. Default permissions
ii. Groups
iii. Programmatically creating permissions
iv. Permission caching
e. Authentication in web requests
i. How to log a user in
ii. How to log a user out
iii. Limiting access to logged-in users
1. The raw way
2. The login_required decorator
3. Limiting access to logged-in users that pass a test
4. The permission_required() decorator
5. Session invalidation on password change
f. Authentication views
i. Login
ii. Logout
iii. Logout_then_login
iv. Password_change
v. Password_change_done
vi. Password_reset
vii. Password_reset_done
viii. Password_reset_confirm
ix. Password_reset_complete
x. The redirect_to_login helper function
xi. Built-in forms
g. Authenticating data in templates
i. Users
ii. Permissions
h. Managing users in the admin
i. Creating users
ii. Changing passwords
i. Password management in Django
i. How Django stores passwords
Python Course Content
QUALITY THOUGHT * www.facebook.com/qtworld * www.qualitythought.in PH: 9963799240, 8142193750 * Location: Ameerpet * Email: [email protected]
ii. Using Bcrypt with Django
iii. Password upgrading
iv. Manually managing a user's password
j. Customizing authentication in Django
i. Other authentication sources
ii. Specifying authentication backends
iii. Writing an authentication backend
iv. Handling authorization in custom backends
v. Authorization for anonymous users
vi. Authorization for inactive users
vii. Handling object permissions
k. Custom permissions
l. Extending the existing user model
m. Substituting a custom user model
12. Testing in Django
a. Introduction to testing
b. Introducing automated testing
i. What are automated tests?
ii. So why create tests?
c. Basic testing strategies
d. Writing a test
e. Creating a test
f. Running tests
g. Testing Tools
h. The test database
i. Using different testing frameworks
13. Deploying Django
a. Preparing your codebase for production
b. Critical settings
c. Environment-specific settings
d. HTTPS
i. CSRF_COOKIE_SECURE
ii. SESSION_COOKIE_SECURE
e. Performance optimizations
f. Error reporting
i. LOGGING
ii. ADMINS and MANAGERS
iii. Customize the default error views
g. Using a virtualenv
h. Using different settings for production
Python Course Content
QUALITY THOUGHT * www.facebook.com/qtworld * www.qualitythought.in PH: 9963799240, 8142193750 * Location: Ameerpet * Email: [email protected]
i. Deploying Django to a production server
j. Deploying Django with Apache and mod_wsgi
k. Serving static files in production
l. Scaling
i. Running on a single server
ii. Separating out the database server
iii. Running a separate media server
iv. Implementing load balancing and redundancy
v. Going big
m. Performance tuning
14. Generating Non-Html Content
a. The basics: views and MIME types
b. Producing CSV
c. Using the template system
d. Other text-based formats
e. Generating PDF
f. Install ReportLab
g. Write your view
h. Complex PDF's
i. Other possibilities
j. The syndication feed framework
k. The Sitemap framework
15. Django Sessions
a. Enabling sessions
b. Configuring the session engine
c. Using Sessions in Views
d. flush()
e. Session object guidelines
f. Session serialization
g. Setting test cookies
h. Using sessions out of views
i. When sessions are saved
j. Browser-length sessions vs. persistent sessions
k. Clearing the session store
16. Django Cache Framework
a. Setting up the cache
i. Memcached
ii. Database caching
iii. Filesystem caching
iv. Local-memory caching
Python Course Content
QUALITY THOUGHT * www.facebook.com/qtworld * www.qualitythought.in PH: 9963799240, 8142193750 * Location: Ameerpet * Email: [email protected]
v. Dummy caching (for development)
vi. Using a custom cache backend
vii. Cache arguments
b. The per-site cache
c. The per-view cache
d. Template fragment caching
e. The low-level cache API
f. Downstream caches
g. Using vary headers
h. Controlling cache: using other headers
17. Django Middleware
a. Activating middleware
b. Hooks and application order
c. Writing your own middleware
d. Available middleware
e. Middleware ordering
18. Security in Django
a. Django's built in security features
i. Cross Site Scripting (XSS) protection
ii. Cross Site Request Forgery (CSRF) protection
b. SOL injection protection
c. Clickjacking protection
d. SSL/HTTPS
e. Host header validation
f. Session security
g. Additional Security tips
19. Sample Site Building on Django
Python Course Content
QUALITY THOUGHT * www.facebook.com/qtworld * www.qualitythought.in PH: 9963799240, 8142193750 * Location: Ameerpet * Email: [email protected]
Unit Testing with Python (pytest)
1. Getting Started
a. What is pytest?
b. Getting pytest
c. Running pytest
d. Running Only One Test
e. Using Options
2. Writing Test Functions
a. Testing a Package
b. Using assert Statements
c. Expecting Exceptions
d. Marking Test Functions
e. Skipping Testing
f. Marking Tests as Expecting to Fail
g. Running Subset of Tests
h. Parametrized Testing
3. Pytest Fixtures
a. Sharing Fixtures Through conftest.py
b. Using Fixtures for Setup and Teardown
c. Tracing Fixture Execution with –setup-show
d. Using Fixtures for Test Data
e. Using Multiple Fixtures
f. Specifying Fixture Scope
g. Specifying Fixtures with usefixtures
h. Using autouse for Fixtures That Always Get Used
i. Renaming Fixtures
j. Parametrizing Fixtures
4. Built-in Fixtures
a. Using tmpdir and tmpdir_factory
b. Using pytestconfig
c. Using cache
d. Using capsys
e. Using monkeypatch
f. Using doctest_namespace
g. Using recwarn
5. Plugins
a. Finding Plugins
b. Installing Plugins
c. Writing Your Own Plugins
d. Creating an Installable Plugin
Python Course Content
QUALITY THOUGHT * www.facebook.com/qtworld * www.qualitythought.in PH: 9963799240, 8142193750 * Location: Ameerpet * Email: [email protected]
e. Testing Plugins
f. Creating a Distribution
6. Configuration
a. Understanding pytest Configuration Files
b. Changing the Default Command-Line Options
c. Registering Markers to Avoid Marker Typos
d. Requiring a Minimum pytest Version
e. Stopping pytest from Looking in the Wrong Places
f. Specifying Test Directory Locations
g. Changing Test Discovery Rules
h. Disallowing XPASS
i. Avoiding Filename Collisions
7. Using Pytest with Other Tools
a. pdb: Debugging Test Failures
b. Coverage.py: Determining How Much Code Is Tested
c. mock: Swapping Out Part of the System
d. tox: Testing Multiple Configurations
e. Jenkins CI: Automating Your Automated Tests
f. Unit Test: Running Legacy Tests with pytest
Python Course Content
QUALITY THOUGHT * www.facebook.com/qtworld * www.qualitythought.in PH: 9963799240, 8142193750 * Location: Ameerpet * Email: [email protected]
Design Patterns
1. The Factory Pattern
2. The Builder Pattern
3. Other Creational Patterns
a. Prototype Pattern
b. Singleton Pattern
4. The Adapter Pattern
5. The Decorator Pattern
6. The Bridge Pattern
7. The Facade Pattern
8. Other Structural Patterns
a. The flyweight Pattern
b. Model View Controller Pattern
c. Proxy Pattern
9. The Chain of Responsibility Pattern
10. The Command Pattern
11. The Observer Pattern
12. The State Pattern
13. Other Behavioral Patterns
a. Interpreter Pattern
b. Strategy Pattern
c. Memento Pattern
d. Iterator Pattern
e. Template Pattern
14. Microservices and the Pattern for the Cloud
a. The Microservices Pattern
b. The Retry Pattern
c. The Circuit Breaker Pattern
d. The Cache-Aside Pattern
e. Throttling