Friday, March 18, 2016

Django upwork Test 2016 Answer

1. Consider the following Python string representing a human readable date and time:
dt = ‘Jan 14 2009 11:00PM’
Which of the following code snippets will convert the above string to a Python Datetime object that is suitable for a django.models.DateField?
Answers:
  1. date_object = time.strptime(dt, ‘%b %d %Y %I:%M%p’)
  2. date_object = datetime.strptime(dt, ‘%b %d %Y %I:%M%p’)
  3. date_object = datetime.strptime(dt, ‘%B %D %Y %I:%M%p’)
  4. date_object = time.strptime(dt, ‘%b %d %Y %I:%M%p’)
2. Which of the following is false about the django.models.SlugField() model field?
Answers:
  1. It is used when performing a query, or as a part of a URL, since by default it ensures uniqueness.
  2. To create a slug based on another field automatically in the admin, prepopulated_fields has to be used.
  3. It can only contain letters, numbers, underscores or hyphens.
  4. Slugs can created in Django templates using the builtin filter, “django.template.defaultfilters.slugify”, formatted as {{ some_text|slugify }}.
3. What does the django.core.context_processors.static() method do?
Answers:
  1. It takes a path and urljoins it with the static prefix STATIC_URL.
  2. It adds STATIC_URL to every template context rendered with RequestContext contexts.
  3. It populates a template variable with the static prefix STATIC_URL to be used as a variable or directly.
  4. None of these.
4. Which of the following statements is true about the django.template.RequestContext class?
Answers:
  1. It takes a Context object as its first argument.
  2. It takes an HttpRequest as its first argument.
  3. It does not automatically the context with variables.
  4. It can only be given one context processor.
5. Consider two Django QuerySets query_set_1 and query_set_2 from two different models.
Which of the following code snippets is the most performant when concatenating the two QuerySets into one list?
Answers:
  1. from itertools import chain result_list = list(chain(query_set_1,query_set_2))
  2. result_list = query_set_1 | query_set_2
  3. from django.db.models import Q result_list = Q(query_set_1) | Q(query_set_1)
  4. from itertools import chain result_list = chain(query_set_1, query_set_2)
6. Which of the following statements about database transactions in Django is false?
Answers:
  1. “atomic” blocks allows the creation of blocks of code within which the atomicity on the database is guaranteed.
  2. “atomic” blocks cannot be nested.
  3. “atomic” can be used as a decorator.
  4. “atomic” can be used as a context manager.
7. Consider the following code snippet for a Django Model:
class Salary(models.Model):
amount = models.PositiveIntergerField(help_text=’eg 8000′)
retired = models.BooleanField(help_text=’True if above average’)
………..
Which of the following will correctly produce a QuerySet of all Salary objects where retired == True and amount != 7300?
Answers:
  1. results = Salary.objects.exclude(retired=true, amount__lt=7300).exclude(retired=true,amount__gt=7300)
  2. from django.db.models import Q results = Salary.filter(~Q(amount=7300),retired=True)
  3. results = Salary.objects.filtered(retired=True, amount__ne=7300)
  4. from django.db.models import Q results = Salary.filter(Q(amount=7300),retired=True)
8. Which of the following gets called when a view raises an exception?
Answers:
  1. view_exception()
  2. process_exception()
  3. execution_exception()
  4. controller_exception()
9. What is the best way to extend the Django user model with extra custom fields in addition to the fields already provided?
Answers:
  1. Use a a proxy model based on django.contrib.auth.models.User.
  2. Subclass django.contrib.auth.models.AbstractUser and add the extra fields.
  3. Subclass django.contrib.auth.models.AbstractBaseUser and add the extra fields.
  4. Use a one-to-one relationship to a model containing the extra fields.
10. Which of the following statements are true about the ImageField class?
Answers:
  1. It inherits all attributes and methods from the FileField class.
  2. It validates that the uploaded object is a valid image.
  3. Its instances are created as varchar(200) columns in the database.
  4. It’s default form widget is a ClearableFileInput.
11. What does the “with” template tag do?
Answers:
  1. It adds its argument to the value.
  2. It caches a complex under a simpler name.
  3. It filters the contents of the blog through one or more filters.
  4. None of these.
12. Which of the following statement is false about the django.http.HttpRequest.get_host() method ?
Answers:
  1. If DEBUG = False and ALLOWED_HOSTS= [] the method will raise SuspiciousOperation exception resulting in an HTTP Error 500 Internal server error.
  2. The method will fail when the host is behind multiple proxies, in this case one solution is to use middleware which will rewrite the proxy headers.
  3. This method is invoked if some code accesses the Host header from request.META, thus providing a security measure to prevent an attacker from poisoning caches and password reset emails with links to malicious hosts by submitting requests with a fake HTTP Host header.
  4. The method uses information from the HTTP_X_FORWARDED_HOST and HTTP_HOST headers, in that order, or a combination of SERVER_NAME and SERVER_PORT if the latter does not provide a value.
13. What is the default max_length value of a SlugField class in Django?
Answers:
  1. 50
  2. 100
  3. 25
  4. 150
14. Which of the following is a built-in BaseCommand subclass?
Answers:
  1. AppCommand
  2. HelperCommand
  3. HandlerCommand
  4. DBCommand
15. Which of the following statements is true about Django’s default implementation of the authentication system?
Answers:
  1. Django stores passwords in plain text on the user model.
  2. It returns a UserAccount object is the password for a given username is authenticated.
  3. Permissions can only be set on a per type of object basis.
  4. django.contrib.auth will ensure that add, change and delete permissions are created for each Django model defined in an installed application.
16. Which of the following happens when process_exception() returns “None”?
Answers:
  1. The template response will be applied.
  2. The response middleware will be applied.
  3. The default exception handling will be applied.
  4. None of these.
17. Which of the following is not a predefined log level in Django?
Answers:
  1. DEBUG
  2. INFO
  3. WARNING
  4. FATAL
18. Which of the following classes uses an HTTP 304 status code?
Answers:
  1. HttpResponseNotModified
  2. HttpResponseRedirect
  3. HttpResponseForbidden
  4. HttpResponseServerError
19. Which of the following django.template.loader functions will take a list of template names and return the first template that exists?
Answers:
  1. find_one_template
  2. find_template
  3. get_template
  4. select_template
20. Which of the following is not a built-in Django template loader class?
Answers:
  1. file.Loader
  2. cached.Loader
  3. eggs.Loader
  4. app_directories.Loader

No comments:

Post a Comment