1.-The
path() function is passed four arguments, two required: route and view, and two optional: kwargs, and name. route is a string that contains a URL pattern. When processing a request, Django starts at the first pattern in urlpatterns and makes its way down the list, comparing the requested URL against each pattern until it finds one that matches.
Patterns don’t search GET and POST parameters, or the domain name. For example, in a request to
https://www.mysite.com/myapp/, the URLconf will look for myapp/. In a request to https://www.mysite.com/myapp/?page=5, the URLconf will also look for myapp/.path() argument: view
When Django finds a matching pattern, it calls the specified view function with an HttpRequest
HttpRequest
Naming your URL lets you refer to it unambiguously from elsewhere in Django, especially from within templates. This powerful feature allows you to make global changes to the URL patterns of your project while only touching a single file.
2.- Fill the time zone, to your convinience
Some of these applications make use of at least one database table, though, so we need to create the tables in the database before we can use them. To do that, run the following command:
We are going to run this command on the terminal
py manage.py migrate
This is the final result
The migrate command looks at the INSTALLED_APPS setting
and creates any necessary database tables according to the database settings
in your mysite/settings.py file and the database migrations shipped
with the app
Let's run another program
py manage.py makemigrations polls
By running makemigrations, you’re telling Django that you’ve made
some changes to your models (in this case, you’ve made new ones) and that
you’d like the changes to be stored as a migration.
You can see the changes here: polls/migrations/0001_initial.py.
We are not expecting to do anything with this but you can tweak this in the future
There’s a command that will run the migrations for you and manage your database
schema automatically - that’s called migrate, and we’ll come to it in a
moment - but first, let’s see what SQL that migration would run. The
sqlmigrate command takes migration names and returns their SQL:
py manage.py sqlmigrate polls 0001
Notes:
- The exact output will vary depending on the database you are using.
- Table names are automatically generated by combining the name of the app
(
polls) and the lowercase name of the model – question and
choice. (You can override this behavior.)
- Primary keys (IDs) are added automatically. (You can override this, too.)
- By convention, Django appends
"_id" to the foreign key field name.
(Yes, you can override this, as well.)
- The foreign key relationship is made explicit by a
FOREIGN KEY
constraint. Don’t worry about the DEFERRABLE parts
- It’s tailored to the database you’re using, so database-specific field types
such as
auto_increment (MySQL), serial (PostgreSQL), or integer
primary key autoincrement (SQLite) are handled for you automatically. Same
goes for the quoting of field names – e.g., using double quotes or
single quotes.
- The
sqlmigrate command doesn’t actually run the migration on your
database - it just prints it to the screen so that you can see what SQL
Django thinks is required. It’s useful for checking what Django is going to
do or if you have database administrators who require SQL scripts for
changes.
If you’re interested, you can also run
python manage.py check; this checks for any problems in
your project without making migrations or touching the database.
Now, run migrate again to create those model tables in your database:
The migrate command takes all the migrations that haven’t been
applied (Django tracks which ones are applied using a special table in your
database called django_migrations) and runs them against your database -
essentially, synchronizing the changes you made to your models with the schema
in the database.
Migrations are very powerful and let you change your models over time, as you
develop your project, without the need to delete your database or tables and
make new ones - it specializes in upgrading your database live, without
losing data
three-step guide to making model changes:
- Change your models (in
models.py).
- Run
python manage.py makemigrations to create
migrations for those changes
- Run
python manage.py migrate to apply those changes to
the database.
2.- Fill the time zone, to your convinience
Some of these applications make use of at least one database table, though, so we need to create the tables in the database before we can use them. To do that, run the following command:
py manage.py migrate
This is the final resultThe
migrate command looks at the INSTALLED_APPS setting
and creates any necessary database tables according to the database settings
in your mysite/settings.py file and the database migrations shipped
with the appLet's run another program py manage.py makemigrations polls
By running
makemigrations, you’re telling Django that you’ve made
some changes to your models (in this case, you’ve made new ones) and that
you’d like the changes to be stored as a migration.You can see the changes here:
polls/migrations/0001_initial.py.We are not expecting to do anything with this but you can tweak this in the future
There’s a command that will run the migrations for you and manage your database schema automatically - that’s called
migrate, and we’ll come to it in a
moment - but first, let’s see what SQL that migration would run. The
sqlmigrate command takes migration names and returns their SQL:py manage.py sqlmigrate polls 0001
Notes:
- The exact output will vary depending on the database you are using.
- Table names are automatically generated by combining the name of the app
(
polls) and the lowercase name of the model –questionandchoice. (You can override this behavior.) - Primary keys (IDs) are added automatically. (You can override this, too.)
- By convention, Django appends
"_id"to the foreign key field name. (Yes, you can override this, as well.) - The foreign key relationship is made explicit by a
FOREIGN KEYconstraint. Don’t worry about theDEFERRABLEparts - It’s tailored to the database you’re using, so database-specific field types
such as
auto_increment(MySQL),serial(PostgreSQL), orinteger primary key autoincrement(SQLite) are handled for you automatically. Same goes for the quoting of field names – e.g., using double quotes or single quotes. - The
sqlmigratecommand doesn’t actually run the migration on your database - it just prints it to the screen so that you can see what SQL Django thinks is required. It’s useful for checking what Django is going to do or if you have database administrators who require SQL scripts for changes.
If you’re interested, you can also run
python manage.py check; this checks for any problems in
your project without making migrations or touching the database.
Now, run
migrate again to create those model tables in your database:
The
migrate command takes all the migrations that haven’t been
applied (Django tracks which ones are applied using a special table in your
database called django_migrations) and runs them against your database -
essentially, synchronizing the changes you made to your models with the schema
in the database.
Migrations are very powerful and let you change your models over time, as you
develop your project, without the need to delete your database or tables and
make new ones - it specializes in upgrading your database live, without
losing data
three-step guide to making model changes:
- Change your models (in
models.py). - Run
python manage.py makemigrationsto create migrations for those changes - Run
python manage.py migrateto apply those changes to the database.
Part2 , Poll Project
Reviewed by ohhhvictor
on
June 08, 2019
Rating:
Reviewed by ohhhvictor
on
June 08, 2019
Rating:









No comments: