Syntax
field_name = models.URLField (max_length = 200, ** options )
URLField has one additional optional argument:
URLField.max_length
The maximum length (in characters) of the field. Maximum max_length
applies at the database level and when validated by Django using MaxLengthValidator . If not specified, the default is 200.
Django URLField Model Explanation
Example URLField illustration. Consider a project named pythonengineering
that has an application named geeks
.
Refer to the following articles to check how to create a project and an app in Django.
Enter the following code into the models.py
file of the geeks application.
|
Add the geek app to INSTALLED_APPS
|
Now when we run makemigrations from the terminal,
Python manage.py makemigrations
A new folder named migrations will be created in the geeks
directory with a file named 0001_initial. py
|
Now run ,
Python manage.py migrate
Thus, geeks_field
geeks_field is generated when migrations are run in the project. This is a field for storing URLs validated by URLValidator .
How to use a URLField?
URLField is used to store URLs in the database. You can store any URLs, both internal and external. URLField must be given the max_length
argument to specify the maximum length of the string that you want to store. On a production server, after deploying a Django app, space is very limited. Therefore, it is always optimal to use max_length as required by the field. Let’s instantiate the URLField we’ve created and see if it works.
|
Now let’s check this on the admin server ... We have created a GeeksModel instance.
Field options
Field options — they are arguments given to each field to apply some constraint or to convey a particular characteristic to a particular field. For example, adding the null = True
argument to the URLField will allow it to store null values for that table in a relational database.
Here are the field options and attributes that the URLField can use.
Field Options | Description |
---|---|
Null | If True , Django will store empty values as NULL in the database. Default is False. |
Blank | If True , the field is allowed to be blank ... Default is False. |
Choices | An iterable (eg, a list or tuple) of 2-tuples to use as choices for this field. |
Default | The default value for the field. This can be a value or a callable object. If callable it will be called every time a new object is created. |
help_text | Extra “help” text to be displayed with the form widget. It’s useful for documentation even if your field isn’t used on a form. |
primary_key | If True, this field is the primary key for the model . |
Unique | If True, this field must be unique throughout the table. |